代码的相关部分如下所示。当我单击提交按钮时,在警告框中,我得到了未定义,而不是键入的电子邮件。我在这做什么错?
<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>
答案 0 :(得分:12)
YourEMail
是name
,而不是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。