所以这应该是更改页面,这样当他们点击按钮时,它会显示他们在表单中选择的所有内容,但它没有做任何事情。它似乎根本没有运行脚本,我不知道是什么。
...more form stuff up here
<button type="button" onclick="total(this.form)">Get my Total</button>
<p id="subtotal"></p>
<input type="submit">
</form>
<script>
function total(form)
{
var SynCr= form.Synth.value;
document.getElementById("subtotal").innerHTML="You have ordered: <br>"+SynCr+" Synth");
}
</script>
答案 0 :(得分:3)
您的问题是onclick="total(this.form)"
。调用处理程序时this
指的是没有表单作为成员的按钮。
尝试改为:
onclick="total(document.getElementById('formId'))"
答案 1 :(得分:0)
首先:
this.form
不会返回父表单。
第二:您的语法错误:document.getElementById("subtotal").innerHTML="You have ordered: <br>"+SynCr+" Synth");
最后)
不应该出现。
以下是代码的内容,向您展示了如何调试代码的工作原理:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<form id="hgg">
<input type="text" name="Synth" value="" />
<button type="button" onclick="total(this)">Get my Total</button>
</form>
<div id="subtotal">
<p>5518</p>
</div>
<script>
function total(button)
{
form1 = button.parentNode;
alert(form1.Synth.value)
/*alert(p.id)
alert("555");*/
SynCr= form1.Synth.value;
alert(SynCr)
k = document.getElementById("subtotal");
k.innerHTML = "You have ordered: <br>"+SynCr+"Synth";
}
</script>
</body>
</html>
请看这个在线演示:http://jsbin.com/voruzumi/1/