长话短说,我正在增强现有的注册表格来执行简单的“你是人”检查。容易的东西(人们会想)。我还没有得到好的东西,因为我似乎无法在页面上设置几个span
元素的innerHTML。
这是精简代码......
<form method="post" action="register2.php">Please verify that you are human below...
<br/> <span id="num1"></span> X
<input id="num2" style="width:20px" /> equals <span id="answer"></span>
<br>
<input id="submit" type="submit" value="Register" disabled="disabled" />
</form>
并删除了脚本......
$('#submit').attr("disabled", "disabled");
var num1 = Math.floor((Math.random() * 11));
var num2 = Math.floor((Math.random() * 11));
var answer = num1 * num2;
$('#num1').innerHTML = "" + num1;
$('#answer').innterHTML = "" + answer;
此时......我只想看到最后两行设置正确的表单元素,以便我可以继续处理验证功能。我必须在这里写错字或逻辑错误...想法?
答案 0 :(得分:3)
.innerHTML
是DOM元素的属性。
document.getElementById('num1').innerHTML = "" + num1;
html()
是要使用的jQuery函数,而不是innerHTML
:
$('#num1').html(num1);
答案 1 :(得分:2)
使用:
$('#num1').html(num1);
$('#answer').html(answer);
由于您已经使用.html()
加载了jQuery,因此最好。
请参阅:http://api.jquery.com/html/
如果你坚持使用innerHTML
,你需要从jQuery对象中获取一个正确的DOM对象,如下所示:
$('#num1')[0].innerHTML = "" + num1;
$('#answer')[0].innterHTML = "" + answer;
答案 2 :(得分:1)
您不在JQuery对象上使用InnerHTML
。您改用html()
方法。像这样:
<强> HTML 强>
<form method="post" action="register2.php">Please verify that you are human below...
<br/> <span id="num1"></span> X
<input id="num2" style="width:20px" /> equals <span id="answer"></span>
<br>
<input id="submit" type="submit" value="Register" disabled="disabled" />
</form>
<强>的JavaScript 强>
$('#submit').attr("disabled", "disabled");
var num1 = Math.floor((Math.random() * 11));
var num2 = Math.floor((Math.random() * 11));
var answer = num1 * num2;
$('#num1').html(num1);
$('#answer').html(answer);
<强>的jsfiddle 强>
答案 3 :(得分:0)