2016-07-27 138 views
3

代碼的相關部分如下所示。當我點擊提交按鈕時,在警告框中,我得到的是未定義的,而不是輸入的電子郵件。我在這裏犯了什麼錯誤?jquery .val()返回undefined

<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> 

回答

9

YourEMailname,而不是id

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

或改變inputid

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

你剛剛打敗了我:) – Daan

+1

或者添加到標籤

+0

已經有了, @PaulSwetz! ;) – eisbehr

1

檢查這方面的工作小提琴https://jsfiddle.net/3h4n6qfe/1/

你是調用id和jQuery返回它爲空,因爲沒有從id您輸入字段

修改:

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

要:

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

,你是好去!

+1

使用堆棧溢出代碼模擬器,而不是jsfiddle – Black

+0

@EdwardBlack許多這裏使用'jsfiddle',它沒有問題。他可以做他喜歡的... – eisbehr

+1

如果jsfiddle處於離線狀態,我們該怎麼辦?爲什麼使用外部代碼模擬器,如果stackoverflow有它自己的?! – Black