我一直在查看Stack上的一些帖子,试图获得一个简单的表单验证工作,但它所做的只是禁用了我的提交按钮。这意味着一旦他们在输入字段中输入文本,就会删除禁用程序。
到目前为止
Jquery
$('input:submit').attr('disabled',true);
$('input').change(function(){
if($('input').val() != ''){
$('input:submit').attr('disabled',true);
} else {
$('input:submit').removeAttr('disabled');
});<form action="send.php" method="post">
<input id="name" name="name" type="text" required placeholder="Name"/>
<input id="email" name="email" type="email" required placeholder="Enter a valid email address"/>
<input name="submit" id="subscribe" type="submit" value="Subscribe for free"/>
</form>发布于 2013-07-30 08:38:59
您应该使用添加到所有所需字段的类来查找每个输入。如果用户更改其中一个,但仍然没有输入,则在禁用时,按钮:
jQuery:
$('input.required').change(function(){
if($(this).val() != ''){
$(this).removeClass('required',true);
}else{
$(this).addClass('required',true);
}
//check the length to enable or disable submit
if($(".required").length == 0){
$('#subscribe').attr('disabled',false);
}else{
$('#subscribe').attr('disabled',true);
}
}); html:
<form action="send.php" method="post">
<input id="name" name="name" type="text" class="required" placeholder="Name" />
<input id="email" name="email" type="email" class="required" placeholder="Enter a valid email address" />
<input name="submit" id="subscribe" type="submit" value="Subscribe for free" />
</form>这是一把小提琴。
但是,请记住,此解决方案仅适用于启用了javascript。
发布于 2013-07-30 08:24:01
我认为你需要改变你在if-else中的陈述,如果你正在尝试一些不同的东西,请告诉我--
$('input:submit').attr('disabled',true);
$('input').change(function(){
if($('input').val() != ''){
$('input:submit').removeAttr('disabled');
}else{
$('input:submit').attr('disabled',true);
}
});小提琴- http://jsfiddle.net/UcQhw/
发布于 2013-07-30 08:24:18
你得在“如果-否则”块里交换语句。还可以使用$(this)获取事件的源。
现场演示
$('input:submit').attr('disabled', true);
$('input').change(function () {
if ($(this).val() !== '') {
$('input:submit').attr('disabled', false);
} else {
$('input:submit').prop('disabled', true);
}
});如果要检查所有文本字段都不能为空,则必须遍历所有输入。您应该指定class来获取指定的文本框,而不是将所有内容都放在页面上。您可以使用类选择器按类获取元素。
现场演示
$('input:submit').attr('disabled', true);
$('.cls').change(function () {
blankFields = $('.cls').filter(function () {
return this.value == '';
});
if (blankFields.length === 0) $('input:submit').attr('disabled', false);
else $('input:submit').prop('disabled', true);
});https://stackoverflow.com/questions/17941779
复制相似问题