【发布时间】:2013-06-23 02:55:33
【问题描述】:
我有下面的代码不工作。
var book_id = $('#indexBookSearch');
var tag_id = $('#indexTagSearch');
if((book_id.val() == "") || (tag_id.val() == ""))
{
$('#userMessages').html('<div class="alert alert-info">'+
'<button type="button" class="close" data-dismiss="alert">×'+
'</button>'+
'<strong>Information ! </strong> Please select search criteria first.'+
'</div>');
return false;
}
if((book_id.val() == "") || (tag_id.val() == "")) 这一行不起作用,即使其中任何一个字段包含 value。
Book 和 Tag 都是 select box 我已经使用 console.log() 检查了它们的值,并且它完美无缺。
我也变了
if((book_id.val() == "") || (tag_id.val() == ""))
到
if(book_id.val() == "" || tag_id.val() == "")
编辑
HTML 表单
<form id="indexSearchForm" action="books/listTags" method="POST">
<fieldset>
<legend>Search Criteria</legend>
<label>Select Book</label>
<select class="input-large" name="book_id" id="indexBookSearch">
<option value="">--Select--</option>
<option value="109">book 1</option>
</select>
<label>Select Tag</label>
<select class="input-large" name="tag_id" id="indexTagSearch">
<option value="">--Select--</option>
<option value="10">adding</option>
<option value="1">Apples</option>
<option value="39">article</option>
<option value="34">bhg</option>
<option value="40">boon</option>
</select>
<button class="btn btn-primary" type="submit">Submit</button>
</fieldset>
</form>
jQuery 代码
$('#indexSearchForm').submit(function(e)
{
e.preventDefault();
var book_id = $('#indexBookSearch');
var tag_id = $('#indexTagSearch');
if( !book_id.val() || !tag_id.val())
{
$('#userMessages').html('<div class="alert alert-info">'+
'<button type="button" class="close" data-dismiss="alert">×</button>'+
'<strong>Information ! </strong> Please select search criteria first.'+
'</div>');
return false;
}
// more process
});
谢谢。
【问题讨论】:
-
你在寻找什么逻辑?如果其中一个填写,那你还好吗?或者如果两者都没有填写,那么有问题吗?还有什么?
-
@Aiias 我想验证表单以要求用户填写任一表单字段..
-
如果您放置 HTML 会很棒,我认为您的选择框的“空”选项类似于“”而不是“”
-
@Aguardientico 如果您忘记阅读问题,那很好...我提到我还使用
console.log()检查它并且值正确出现.. -
@DipeshParmar 您的代码处于工作状态。检查小提琴链接:jsfiddle.net/B6ZFS