jquery .val()返回undefined

时间:2016-07-27 13:42:01

标签: javascript php jquery html forms

代码的相关部分如下所示。当我单击提交按钮时,在警告框中,我得到了未定义,而不是键入的电子邮件。我在这做什么错?

<form action="page2.php" method="post" onsubmit="myFunction()" id="form1"> 
        ......
        <input type="text" name="YourEMail" style="width: 250px;"> 
        <input type="submit" name="submit" value="Submit"> <br>
        ......
</form> 

<script>
$('#form1').submit(function() {
    //your validation rules here
    var email = $('#YourEMail').val()
    alert(email)
    //if(email.length == 0)
        return false;
    //else 
    //  return true;
});
</script>

3 个答案:

答案 0 :(得分:12)

YourEMailname,而不是id

var email = $('input[name=YourEMail]').val();

或者将input更改为id

<input type="text" id="YourEMail" name="YourEMail" style="width: 250px;"> 

答案 1 :(得分:1)

检查此工作小提琴https://jsfiddle.net/3h4n6qfe/1/

您正在调用id并且jQuery将其返回为null,因为您的输入字段没有id

修改自:

<input type="text" name="YourEMail" style="width: 250px;"> 

要:

<input type="text" name="YourEMail" id="YourEMail" value="My Email" style="width: 250px;">

你很高兴去吧!

答案 2 :(得分:0)

在我的情况下,这是因为不同的元素类型具有相同的id。