我不擅长逻辑(事实上数学)。
我正在构建一个简单的函数。所以我无法解决一个问题。
此函数将控制表单中的两个字段,文本输入和选择。这是一种搜索表单,其中搜索可以通过在文本字段中键入的术语执行,也可以通过在选择字段中选择的类别执行,并且可以同时使用两者来减少/过滤结果。
[EDITED]该功能必须控制: - 不允许在文本字段中按术语搜索少于3个字符; - 不允许在两个字段中进行空搜索:); - 允许非空选择(类别)的空文本字段(术语); - 允许非空文本字段为空选择。
然后,如果选中所有表格,则可以提交表格。
[解决] 将此代码与jQuery一起使用 vbt是一个用于缩短文本字段id的var,用于表单的vbf和用于select的vslt。 smsg是警告错误消息的var。 HTML表格
<form method="get" action="search_res.php">
<label for="q">Search term</label>
<input type="text" name="q" id="q" />
<label for="c">Category</label>
<select name="c" id="c">
<option value="c1">Cat 1</option>
<option value="c2">Cat 2</option>
<option value="c3">Cat 3</option>
<option value="c4">Cat 4</option>
</select>
<button type="submit"><img src="images/submit.png" width="80" height="30" alt="" /></button>
</form>
JQUERY CODE
$(document).ready(function() {
function submt() {
if(vbt.val().length >= 3)
vbf.submit();
else if((vbt.val() == '') && (vslt.val() != ''))
vbf.submit();
else
alert(smsg);
}
});
答案 0 :(得分:1)
在这里你做...
HTML:
<input type="text">
<select>
<option> All </option>
<option> Logic </option>
<option> Intelligence </option>
<option> Pacience </option>
</select>
<input type="submit" disabled>
JavaScript的:
var text = $('input:text'),
select = $('select'),
submit = $('input:submit');
function f() {
var valid = text[0].value.length >= 3 || select[0].selectedIndex !== 0;
submit[0].disabled = !valid;
}
text.keyup(f);
select.change(f);
答案 1 :(得分:0)
短伪码:
if(input.strlen<3) input=""
和
if( select==empty && input=="" ) return false;