在jQuery中,我的函数不起作用
In jQuery my function is not work
我试图像这样用jQuery做两个条件语句。
$('#user_name, #user_email, #user_password').keyup(function () {
if ($('#output-name').is('.field-output-comple') &&
$('#output-email').is('.field-output-comple') &&
$('#output-password').is('.field-output-comple') &&
$('#confirm-terms-of-use').is(':checked')
) {
$('#register-button').removeAttr('disabled');
} else {
$('#register-button').attr('disabled', 'disabled');
}
});
$('#confirm-terms-of-use').change(function() {
if ($('#output-name').is('.field-output-comple') &&
$('#output-email').is('.field-output-comple') &&
$('#output-password').is('.field-output-comple') &&
$('#confirm-terms-of-use').is(':checked')
) {
$('#register-button').removeAttr('disabled');
} else {
$('#register-button').attr('disabled', 'disabled');
}
});
但您知道此代码是重复的。
if ($('#output-name').is('.field-output-comple') &&
$('#output-email').is('.field-output-comple') &&
$('#output-password').is('.field-output-comple') &&
$('#confirm-terms-of-use').is(':checked')
) {
$('#register-button').removeAttr('disabled');
} else {
$('#register-button').attr('disabled', 'disabled');
}
所以我用这样的函数制作了这段代码。
$('#user_name, #user_email, #user_password').keyup(isValidPassword())
$('#confirm-terms-of-use').change(isValidPassword())
function isValidPassword() {
if ($('#output-name').is('.field-output-comple') &&
$('#output-email').is('.field-output-comple') &&
$('#output-password').is('.field-output-comple') &&
$('#confirm-terms-of-use').is(':checked')
) {
$('#register-button').removeAttr('disabled');
} else {
$('#register-button').attr('disabled', 'disabled');
}
}
但它效果不佳。没有错误isValidPassword
但剂量可能没有输出任何东西。我哪里犯了错误?感谢您的阅读。
您需要将
函数引用传递给事件处理程序,您正在调用函数isValidPassword
并undefined
作为事件处理程序传递它返回的值。
$('#user_name, #user_email, #user_password').keyup(isValidPassword)
$('#confirm-terms-of-use').change(isValidPassword)
这不是你想的那样:
.keyup(isValidPassword())
这不会将isValidPassword
函数本身传递给keyup
,它会执行函数并传递该函数的结果。 并且该函数不返回任何内容,因此其结果为 undefined
。
不要执行函数,只需将函数本身作为变量传递:
.keyup(isValidPassword)
相关文章:
- Ember Data DS.Model's set函数不起作用
- 为什么我的JavaScript堆栈排序函数不起作用
- Javascript onchange()函数不起作用
- 另一个Ajax函数触发的Ajax函数不起作用
- 从PHP调用JS函数不起作用
- jQuery validate函数不起作用
- JS-窗口宽度函数不起作用
- javascript函数,该函数不起作用,但不会显示任何错误
- 为什么这个排序函数不起作用
- 为什么这个反向函数不起作用
- Javascript parseInt 函数不起作用
- 我的函数不起作用,Ajax调用,JQuery,调用外部?我不知道
- 主干构造函数不起作用
- Javascript:this.value 函数不起作用
- Mocha 的 beforeEach() 和 done() 函数不起作用
- 在jQuery中,我的函数不起作用
- jquery-ui-rails的draggable和dropable函数不起作用
- 数学函数不起作用
- Javascript-创建打印到HTML的函数不起作用
- 我上传了客户's服务器一个js函数不起作用