2012-02-23 62 views
-1

获取值我用PHP的形式自动生成的,例如:自动生成表格,并与jQuery

<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 =“一个”。在形式上也可以是pos =“two”等。

如果它们属性pos =“one”,它们必须不为空。

我该如何检查?在我的例子应该是:与名AAA & BBB

输入文本应该是不为空

一个输入收音机名组2必须检查 - 用价值水或价值啤酒。

最小的一个输入复选框名称选项应该被检查。

最小的一个输入复选框名称选项2应该被检查。

我怎样才能得到所有输入的位置=“一”与jQuery?也许函数每个和过滤器?但是如何?

LIVE:http://jsfiddle.net/T8nNs/4/

编辑:如果一些输入为空/不选中我想接收警报( '错误')。

+0

我不知道如何让所有的投入与POS =“一个” – 2012-02-23 15:45:24

回答

1

你会抢pos属性,输入名称,输入val像这样:

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. 
    }); 
}); 
+0

谢谢,但它是什么val === null?之前没有var val。以及我如何在正面答案中获得所有这些输入的所有值和名称? – 2012-02-23 15:51:24

+0

我道歉,我改变了变量的名字。它应该是'inputVal'。为了获得这些值,你实际上会重写'each()'语句中的变量。让我修改我的答案。 – 2012-02-23 15:59:04

0

看那attribute equals selector例如:

$('input[pos="one"],input[name="gvv"]').change(function() { 
    alert('changed'); 
})​ 

http://jsfiddle.net/T8nNs/9/

在表格上进行验证,你可以使用submit()

+0

,但该如何检查,如果我在提交点击? – 2012-02-23 15:46:31

+0

查看我的回答 - 使用'submit'事件 – ManseUK 2012-02-23 15:47:09

+0

但我不知道这些输入的名字 – 2012-02-23 15:50:16