我正在编写下面的代码,并尝试使用//*围绕代码编写一个IF语句。
if语句逻辑应该是‘如果所有(X5)表单输入字段都为空,则显示警报消息,否则执行//*之间的操作
用户必须使用字母或数字修改五个输入字段中的至少一个,才能提交表单。
$('.submit').live('click', function(){
// *
$('.submit').parent().find('form').submit();
alert('The form has been submitted!');
// *
});HTML结构:
<div style="margin:50px;">
<div id="search-prefix">
<form method="post" action="">
<input type="text" class="alpha-first default-value" name="" maxlength="1" value="?" />
<input type="text" class="numeric plate-divide default-value" name="" maxlength="3" value="???" />
<input type="text" class="alpha default-value" name="" maxlength="1" value="?" />
<input type="text" class="alpha default-value" name="" maxlength="1" value="?" />
<input type="text" class="alpha default-value" name="" maxlength="1" value="?" />
</form>
</div>
<span class="btn submit">Search</span>
</div>任何帮助都将不胜感激,谢谢
发布于 2011-07-18 22:48:56
在看了一些答案之后,我又一次尝试自己做这件事。
我的方法非常简单:
在keyUp上,如果form input的值是一个'‘空字符串或什么都不是,则向submit按钮(这是一个<span class="btn empty-fields">...</span>)添加一个类。因此:
$('form input').keyup(function () {
if(!($(this).siblings().andSelf().hasClass('field-error'))){
if ($(this).val() == '') {
$('.btn').addClass('empty-fields').removeClass('no-submit submit');
$('.error-notify').hide();
}
else{ ...当用户单击此元素时,将触发此响应:
$('.empty-fields').live('click', function(){
alert('One field MUST be modified to use Search!')
}); 感谢你们的努力,谢谢
发布于 2011-07-18 20:12:35
您可以使用.filter和$.trim来确定有多少字段留空:
$('.submit').live('click', function(){
var emptyCount = $(this).closest("form").find("input").filter(function() {
return $.trim(this.value).length === 0;
}).length;
if(emptyCount === 5) {
alert("all 5 are empty");
} else {
$('.submit').parent().find('form').submit();
alert('The form has been submitted!');
}
});发布于 2011-07-18 20:13:52
另一种方法是将每个输入字段的值连接在一起,并检查结果字符串的长度。
https://stackoverflow.com/questions/6732641
复制相似问题