javascript函数中的javascript函数

时间:2014-09-14 17:32:47

标签: javascript

我有一些我无法开始工作的小代码。这是:

<input type='password' name='Confirmpwd' id='Confirmpwd'
       onkeyup="if(this.value != '') myFunction('checkConfirmpwd', (Password.value == this.value) ? 1 : 0;, this.id);" />

当我将Password.valuethis.value放在那里时,我100%确定myFunctionPassword.value是正确的。所以这不是变量的问题。

问题在于,当我尝试在上面的参数中比较this.valuemyFunction时,myFunction(val1, val2, val3) { ...some code... } 不再执行了。 myFunction声明如下:

{{1}}

我的目标是,当我调用该函数时,我可以比较两个字符串并将它们发送到{{1}}。

2 个答案:

答案 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 ==
    }
};

我们在那里所做的就是将;,更改为,。这只是一个错字