我的表单最多可以在页面上出现8次,因此在对象中添加ID不是解决方案。当2个字段相同时,我需要启用提交按钮。 我想不出办法做到这一点。你能帮助我吗?
HTML
<form method="post">
<div class="form-group">
<label for="pass1">New Password:</label>
<input type="password" class="form-control" name="pass1" placeholder="Pa55word">
</div>
<div class="form-group">
<label for="pass2">Retype Password:</label>
<input type="password" class="form-control" name="pass2" placeholder="Pa55word">
</div>
</div>
<div class="modal-footer">
<input type="submit" name="subpass" class="btn btn-primary disabled" value="go" />
</form>
的JavaScript
$('form input[type="password"]').keyup(function () {
if($(this.???)){
$(this.???)removeClass('disabled')
}
});
答案 0 :(得分:1)
您可以使用:
$('form input[type="password"]').keyup(function () {
var form = $(this).closest('form');
if(form.find('input[type="password"]').first().val() ===
form.find('input[type="password"]').last().val()){
form.find('input[type="submit"]').removeAttr('disabled'); //or remove class
} else {
form.find('input[type="submit"]').attr('disabled', ''); //disable the button
}
});
以下是JSFiddle http://jsfiddle.net/3uURp/3/
中的一个示例以下是一起使用少量表单http://jsfiddle.net/3uURp/6/
的方法答案 1 :(得分:0)
工作示例:
$('form input[type="password"]').keyup(function () {
var $this = $(this);
var $parent = $this.closest("div");
if( $this.val() == $this.closest("form").find("div.form-group").not($parent).find("input").val() ){
console.log("equals");
} else {
console.log("not equals");
}
});
答案 2 :(得分:0)
尝试this:
$('form input[type="password"]').keyup(function () {
var form = $(this).closest('form')
var pass1 = form.find('input[name=pass1]')
var pass2 = form.find('input[name=pass2]')
var submit = form.find('input[type=submit]')
var condition = pass1.val().length == 0 || (pass1.val() != pass2.val())
submit.attr("disabled", condition)
});