javascript不会从文本框添加项目

javascript不会从文本框添加项目,javascript,html,Javascript,Html,问题是,当我按下表单上的按钮时,javascript不会运行。我不知道为什么它真的让我恼火,我正试图通过不同的文本框添加项目,然后平均罚款 <script type="text/javascript"> function getmark() { var g1 = document.getElementById('g1').value; var g2 = document.getElementById('g2').value; var g3 = document.getEl

问题是,当我按下表单上的按钮时,javascript不会运行。我不知道为什么它真的让我恼火,我正试图通过不同的文本框添加项目,然后平均罚款

<script type="text/javascript">
function getmark() {
  var g1 = document.getElementById('g1').value;
  var g2 = document.getElementById('g2').value;
  var g3 = document.getElementById('g3').value; 
  var newtotal = total /3;

  var total = q1+q2+q3;

  alert(total);
}
</script>

函数getmark(){
var g1=document.getElementById('g1')。值;
var g2=document.getElementById('g2')。值;
var g3=document.getElementById('g3')。值;
var newtotal=总计/3;
var总计=q1+q2+q3;
警报(总数);
}
这似乎对我的生活不起作用

这是我用来运行它的表单

<form name = "gradecalc">
<p>Grade 1: Earned Points <input id='g1' type = "text"/> Out of:<input type = "text" value="9" readonly="readonly"/></p>
<p>Grade 2: Earned Points <input id='g2' type = "text"/> Out of:<input type = "text" value="9" readonly="readonly"/></p>
<p>Grade 3: Earned Points <input id='g3' type = "text"/> Out of:<input type = "text" value="9" readonly="readonly"/></p>
<p>Grade 6: Earned Points <input id='g6' type = "text"/> Out of:<input type = "text" value="9" 
<input id='entry_avg' onclick = "getmark()" type="button" value="Get Mark"/>
<input name = "clear" type = "reset" value = "Clear Form"/>
</form>

1级:从以下各项中获得分数:

2级:从以下各项中获得分数:

3级:从以下各项中获得分数:

六年级:从中获得分数:问题出在哪里? 您有一个未关闭的标记和无效的Javascript

我如何解决这个问题? 使用以下HTML:

<form name="gradecalc">
    <p>Grade 1: Earned Points
        <input id='g1' type="text" />Out of:
        <input type="text" value="9" readonly="readonly" />
    </p>
    <p>Grade 2: Earned Points
        <input id='g2' type="text" />Out of:
        <input type="text" value="9" readonly="readonly" />
    </p>
    <p>Grade 3: Earned Points
        <input id='g3' type="text" />Out of:
        <input type="text" value="9" readonly="readonly" />
    </p>
    <p>Grade 6: Earned Points
        <input id='g6' type="text" />Out of:
        <input type="text" value="9"/> <input id='entry_avg' onclick="getmark()" type="button" value="Get Mark" />
    </p>
        <input name="clear" type="reset" value="Clear Form" />
    </form>

它不起作用,因为您的html无效,并且从不关闭输入标记。除此之外,还可以定义
g1
,但不能定义
q1
。最后,你是在凝聚字符串。您必须将它们转换为数字。此问题似乎与主题无关,因为它与语法错误有关。似乎:
total=q1+q2+q3为<代码>总计=g1+g2+g3
,但是
g1
g2
g3
是字符串而不是数字,您必须将其转换。。。例如,
parseInt(g1)
@Frogmouth我已经说过了。没错。我指定了。如果你看到我投了你的票。。。如果不受欢迎。。。对不起,我的错。
$q!=$g
var-total
出现在
var-newtotal
之前(我不反对你)请出示这个-也更改这个:这个
var-total=parseInt(g1)+parseInt(g2)+parseInt(g3)排在
var newtotal=total/3之前
然后
alert(newtotal)
newtotal
必须低于
total
,我想是的。优秀的雪人。那就是帮助的意愿不!最后但并非最不重要的一点:
alert(newtotal)
document.getElementById('entry_avg').addEventListener('click', function() { getmark(); });
function getmark() {
    var g1 = document.getElementById('g1').value;
    var g2 = document.getElementById('g2').value;
    var g3 = document.getElementById('g3').value;
    var total = parseInt(g1) + parseInt(g2) + parseInt(g3);
    var newtotal = total / 3;

    alert(total);
}