2017-05-11 2 views
0

JavaScriptgetElementById ne fonctionne pas - JavaScript

var stuAverage; 
function calcAvg(gradeInfo) 
    { 
    finalExam = document.getElementById("finalExam").value; 
    homework = document.getElementById("homework").value; 
    projects = document.getElementById("projects").value; 
    stuAverage = (finalExam * .1) + (homework * .4) + (projects * .5); 
    document.getElementById("stuAverage").value=stuAverage; 
    alert("Your average is " + stuAverage); 
    } 

HTML

<form action="#" name="gradeInfo"> 
<p> 
Enter Final Exam Grade: 
<input type="text" name="finalExam" size="4" /><br /> 
Enter Homework Grade: 
<input type="text" name="homework" size="4" /><br /> 
Enter Projects Grade: 
<input type="text" name="projects" size="4" /><br /> 
<br /><br /> 
<input type="button" value="AVERAGE" onclick="calcAvg(gradeInfo)" /> 
<input type="button" value="CLEAR" onclick="clearData(gradeInfo)" /> 
<br /><br /> 
Your Average is: 
<input type="text" name="stuAverage" size="4" /><br /> 
</p> 
</form> 

Essayer de comprendre comment utiliser le getElementById avec DOM mais je vais avoir du mal à comprendre la logique.

La fonction CLEAR fonctionne mais encore une fois, je voudrais utiliser getElementById pour que cela fonctionne de préférence.

Nous vous remercions de votre aide.

+1

Je ne vois aucun élément HTML avec ces identifiants. Seuls les noms. – 4castle

+0

@ david.pfx non, on dirait que je suis nouveau dans le concept getElementById et que j'avais besoin d'une petite clarification. Je n'ai demandé à personne de le faire pour moi, mais j'apprécie l'attitude. –

Répondre

1

Utilisez id pas name (c'est pourquoi il est appelé getElementById) si

<input type="text" id="finalExam" name="finalExam" size="4" /><br /> 

ou

<input type="text" id="finalExam" size="4" /><br /> 

pas

<input type="text" name="finalExam" size="4" /><br /> 
+0

Je comprends maintenant, merci de l'expliquer. –

1

Il vous manque l'attribut id.

essayer id = "finalExam" dans votre entrée