2016-01-31 40 views
-2

我有一個奇怪的問題:我得到一個未定義的警報窗口通過運行此代碼。我在這裏查找了所有的信息,但我找不到解決方案。javascript undefined輸入值儘管寫入它

  • 我檢查了,有這除了一個
  • 沒有相同的ID運行PHP文件的var_dump($user_id)結果表明正確的價值
  • 這就是爲什麼我不明白,爲什麼在JavaScript中的價值未定義所有的時間...

HTML:

<form action="?atn=surveyCode" method="post" class="form mg_top"> 

    <label id="entersID" for="usersID">Enter your prolific ID:</label> 
    <input id="usersID" value="" type='text' class="form-control talign_center input" name="usersID"> 

    <button id="survey" class="btn btn-primary form-control">Go to questions</button> 

</form> 

JavaScript:每個警報都返回「未定義」。我從來沒有進入其他部分。這真的很奇怪。在我的代碼中,我有很多這樣的部分,他們正在完美地工作。

$("#survey").click(function(e){ 

    var prolific = $("usersID").val(); 
    alert(prolific); 

    if(prolific==undefined){ 
     alert(prolific); 

     $("#entersID").addClass("error-msg"); 
     $("#entersID").parent().addClass("has-error"); 
     e.preventDefault(); 
    } 
    else{ 
     alert(prolific); 

     window.open("http://www.w3schools.com"); 
    } 

}); 

PHP:

private function surveyCode(){ 
    $userID = $_POST["usersID"]; 
    var_dump($userID); //shows a value 
} 

請幫助我,也許這是一個愚蠢的錯誤,但我不能找到它....

+1

您缺少'#'。它應該是'$(「#usersID」)。val();' – Rajesh

+0

非常感謝您節省了我的一天:D。這樣愚蠢的錯誤... – user5050422

回答

1

更改行成

var prolific = $("#usersID").val(); 
1

您必須在id選擇符之前添加「#」號,如下所示:

var prolific = $("#usersID").val();