我有一些我无法开始工作的小代码。这是:
<input type='password' name='Confirmpwd' id='Confirmpwd'
onkeyup="if(this.value != '') myFunction('checkConfirmpwd', (Password.value == this.value) ? 1 : 0;, this.id);" />
当我将Password.value
和this.value
放在那里时,我100%确定myFunction
和Password.value
是正确的。所以这不是变量的问题。
问题在于,当我尝试在上面的参数中比较this.value
和myFunction
时,myFunction(val1, val2, val3) { ...some code... }
不再执行了。 myFunction
声明如下:
{{1}}
我的目标是,当我调用该函数时,我可以比较两个字符串并将它们发送到{{1}}。
答案 0 :(得分:1)
;
表示结束语句。如果在遇到分号时缺少参数或括号,但可能会导致错误。
在这种情况下就是这种情况。
将代码更改为
if(this.value != '') myFunction('checkConfirmpwd', (Password.value == this.value) ? 1 : 0, this.id);
答案 1 :(得分:1)
将onkeyup放在外部javascript文件中,而不是放在同一个HTML文件中。为了便于编辑和提高性能,最好这样做:
HTML
<input type="password" name="Confirmpwd" id="Confirmpwd" />
JS
document.getElementById("Confirmpwd").onkeyup = function () {
"use strict";
if (this.value !== "") { // !== is better than !=
myFunction("checkConfirmpwd", (Password.value === this.value) ? 1 : 0, this.id); // === is better than ==
}
};
我们在那里所做的就是将;,
更改为,
。这只是一个错字