Jquery:元素值不正确

Jquery:元素值不正确,jquery,Jquery,我试图在提交之前获取所有具有name=“choices”的输入元素。我想在提交表单之前检查这些元素的值。 问题不是得到0,1,2,这是我得到的未定义元素的值(3次) 表格 <form action="/check" method="post" id="mform1" > <div id="id_poll_choices" > A). <input type="text" name="choices" value="0">&l

我试图在提交之前获取所有具有
name=“choices”
的输入元素。我想在提交表单之前检查这些元素的值。 问题不是得到0,1,2,这是我得到的未定义元素的值(3次)

表格

<form action="/check"  method="post" id="mform1" >
<div id="id_poll_choices" >
                A). <input type="text"  name="choices" value="0"><br>
                B). <input type="text"  name="choices" value="1"><br>
                C). <input type="text"  name="choices" value="2"><br>
            </div>  
<input type="submit" id="id_submit" value="Submit"/>
</form>
警报显示未定义的


这里可能有什么问题?

elm
是一个DOM元素。它没有任何
val
属性

替换

 alert(elm.val)

请注意:

  • 还要注意id:只有一个元素可以具有给定的id

  • 您应该使用
    “input[name='choices']”
    而不是
    “input[name*='choices']”
    作为选择器。这两种方法在这里都有效,但其中一种更快、更具选择性。当然,除非元素应该有不同的名称(这是单选按钮的一般做法)

  • 元素是回调中的
    this
  • 使用
    控制台,生活会更轻松。日志
    而不是
    警报
    ()
所以我建议这样做

$('#mform1').submit(function(){
        $( "input[name='choices']" ).each(function(){
            console.log(this.value);
        });
});

elm
是一个DOM元素。它没有任何
val
属性

替换

 alert(elm.val)

请注意:

  • 还要注意id:只有一个元素可以具有给定的id

  • 您应该使用
    “input[name='choices']”
    而不是
    “input[name*='choices']”
    作为选择器。这两种方法在这里都有效,但其中一种更快、更具选择性。当然,除非元素应该有不同的名称(这是单选按钮的一般做法)

  • 元素是回调中的
    this
  • 使用
    控制台,生活会更轻松。日志
    而不是
    警报
    ()
所以我建议这样做

$('#mform1').submit(function(){
        $( "input[name='choices']" ).each(function(){
            console.log(this.value);
        });
});
尝试:

注意:不要对所有输入使用相同的id。Id应该是唯一的。

尝试:


注意:不要对所有输入使用相同的id。Id应该是唯一的。

您正在重复DOM Id
Id\u ch
…这是不正确的。此外,虽然重用
名称
是合法的,但在这种情况下,它可能不是您想要的。您应该使用
name=“choices[]”
以便服务器将获得所有名称的数组。请查看
中的示例。每个
文档都有。我认为这很清楚:。您正在重复DOM id
id\u ch
…这是不正确的。此外,虽然重用
name
是合法的,但在这种情况下,它可能不是您想要的。您应该使用
name=“choices[]”
以便服务器将获得所有名称的数组。请查看
中的示例。每个
文档都有。我想这很清楚。
$('#mform1').submit(function(){
        $( "input[name='choices']" ).each(function(){
            console.log(this.value);
        });
});
$('#mform1').submit(function(){
            $( "input[name*='choices']" ).each(function(index, elm){
                alert(elm.value);
            });
    });