【发布时间】:2016-06-10 08:57:13
【问题描述】:
我想返回 false 表单并在选择器上运行 css/focus 事件。
使用jQuery.each函数时如何避免表单提交?
此代码现在不起作用,但如果您替换 'return true;' '返回假;'工作正常,但不提交表单!
请帮帮我,谢谢
HTML 代码:
<form id="formdata" method="post" action="">
<div class="title">Ajax To Send Data And Save In PHP</div>
<span>Fullname:</span>
<input type="text" id="fullname" name="fullname" >
<span>Email:</span>
<input type="text" id="email" name="email" >
<span>Comment:</span>
<textarea name="comment" id="comment" cols="30" rows="5" ></textarea>
<button type="submit">Create Data</button>
<br>
<div id="result"></div>
</form>
JS 代码:
$(document).ready(function () {
var all_elements = '#formdata input[type=text]';
$(all_elements).blur(function(){
$(this).each(function(n, element){
$("#" + element.id).prev().css("color", "#555");
$("#" + element.id).css("border", "1px solid #CCC");
});
});
$("#formdata").on('submit',(function() {
$(all_elements).each(function(n, element){
if ($(element).val()=='') {
alert('Field '+element.id+' must have a value');
$("#" + element.id).prev().css("color", "#F00");
$("#" + element.id).css("border", "1px solid #F00");
$("#" + element.id).focus();
return false;
}
});
return true;
alert('Form submited, done!');
}
));
});
【问题讨论】:
-
你应该使用 event.preventDefault() 来避免提交
-
@DinoMyte 我使用了那个事件但没有工作!
-
@DinoMyte
return false等价于event.preventDefault()
标签: javascript jquery return each