我使用PHP表单自动生成,例如:
<form id="stack">
<input type="text" name="aaa" pos="one"> <br />
<input type="text" name="bbb" pos="one"> <br />
<input type="text" name="aa3456" pos="two"> <br />
<input type="radio" name="group2" pos="one" value="Water"> Water
<input type="radio" name="group2" pos="one" value="Beer"> Beer<br>
<input type="radio" name="gvv" pos="two" value="Water2"> Water
<input type="radio" name="gvv" pos="two" value="Beer2"> Beer<br>
<INPUT NAME="options" pos="one" TYPE="CHECKBOX" VALUE="o1">
Option 1<BR>
<INPUT NAME="options" pos="one" TYPE="CHECKBOX" VALUE="o2">
Option 2<BR>
<INPUT NAME="options" pos="one" TYPE="CHECKBOX" VALUE="o3">
Option 3<BR>
<INPUT NAME="options2" pos="one" TYPE="CHECKBOX" VALUE="11">
111<BR>
<INPUT NAME="options2" pos="one" TYPE="CHECKBOX" VALUE="22">
222<BR>
<INPUT NAME="options2" pos="one" TYPE="CHECKBOX" VALUE="33">
333<BR>
<input type="submit" id="submit">
</form>
我不知道如何输入以及如何命名。我只知道 - 他们属于pos =“one”。在形式上也可以是pos =“two”等。
如果属性pos =“one”,则它们必须不为空。
我该怎么检查?我的例子应该是:
输入名称为 aaa 的文字&amp; bbb 应该不为空
必须检查一个名为 group2 的输入广播 - 值为Water或value Beer。
应选中名称选项的最小一个输入复选框。
应选中名称 options2 的最小一个输入复选框。
如何使用jQuery获取pos =“one”的所有输入?也许功能每个和过滤?但是怎么样?
LIVE: http://jsfiddle.net/T8nNs/4/
编辑:如果某些输入为空/未选中,我希望收到警报('错误')。
答案 0 :(得分:1)
您可以像这样获取pos
属性,输入名称和输入值:
var pos = $('input').attr('pos');
var inputName = $('input').attr('name');
var inputVal = $('input').val();
从那里,您可以开始进行验证:
var pos = '';
var inputName = '';
var inputVal = '';
$('#stack').submit(function(){
$('input').each(function(){
var $this = $(this);
pos = $this.attr('pos');
inputName = $this.attr('name');
inputVal = $this.val();
if (pos === 'one') {
if (val === null) {
return false;
} else {
// positive answer
}
} // etc.
});
});
答案 1 :(得分:0)
例如,查看attribute equals selector:
$('input[pos="one"],input[name="gvv"]').change(function() {
alert('changed');
})
示例http://jsfiddle.net/T8nNs/9/
要对表单执行验证,您可以使用submit()