javascript未定义的输入值尽管写在其中

时间:2016-01-31 10:12:04

标签: javascript html

我有一个奇怪的问题:我通过运行此代码获得了一个未定义的警报窗口。我查阅了所有的推文,但我无法找到解决方案。

  • 我已经查过,除了这个
  • 之外没有相同的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:每个提醒都会返回&#34;未定义&#34;。我从来没有进入其他部分。这真的很奇怪。我的代码中有很多这样的部分,而且它们工作正常。

$("#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
}

请帮助我,也许这是一个愚蠢的错误,但我无法找到它......

2 个答案:

答案 0 :(得分:1)

将行更改为

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

答案 1 :(得分:1)

您必须在ID选择器之前添加“#”符号,如下所示:

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