$('input[TYPE="SUBMIT"]').click(function(){
if ($('input[TYPE="TEXT"').val().length===0 || $('textarea').val().length===0)
{
console.log($('input[TYPE="TEXT"').val().length);
console.log($('textarea').val().length);
return false;
}
});
chrome突出显示我的if语句。我真的不明白这里有什么问题。我想我可以在两个字段中添加一个类,但我不需要为我的布局。我是不是以某种方式写错了?
答案 0 :(得分:2)
我立即注意到的是
$('input[TYPE="TEXT"')
应该是
$('input[TYPE="TEXT"]')
但是,请注意,进行此类选择只会检查找到的第一个文本框/文本区域的长度,而不是每个文本框。
在这种情况下你需要的是:
$("input[type='submit']").click(function()
{
var ok = true;
$("input[type='text'], textarea").each(function() {
ok &= ok && $(this).val().length > 0;
});
alert(ok ? 'All OK' : 'Not OK :(');
});
更好的是给提交按钮一个正确的ID和输入元素一些其他属性,所以你不会在验证中不小心包含其他控件。
<input type="text" validate="true" />
$("*[validate='true']").each(function() {
ok &= ok && $(this).val().length > 0;
});
答案 1 :(得分:1)
($('input[TYPE=TEXT]').val().length == 0 || $('textarea').val().length == 0)
答案 2 :(得分:0)
看起来你有'input[TYPE="TEXT"'
在很多地方缺少]
,这可能是问题吗?
答案 3 :(得分:0)