Javascript 输入字段值未定义

Posted

技术标签:

【中文标题】Javascript 输入字段值未定义【英文标题】:Javascript Input field value undefined 【发布时间】:2013-09-26 05:11:55 【问题描述】:

我遇到的问题是我无法访问我的文本字段之一的值。我知道最初加载文档时,该值是未定义的。但是当我点击提交时访问输入字段的值时,我必须在文本框中得到准确输入的字符串。

$("#foo").submit(function(event)

但即使在此事件侦听器之后,我也无法访问该值。

console.log(comment_value);

总是显示未定义。我还使用了 val() 函数的 jquery 版本,但没有帮助。

请指导。谢谢

<html>
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
      $(document).ready(function()                
        $("#foo").submit(function(event)           
          var comment_value = document.getElementById("newComment").value;        
          console.log(comment_value);

          event.preventDefault();
          // $("#newcommentblock").html(&#039;<img src="a.gif"/>&#039;);                  

          request = $.ajax(
            url: "getcomment.php",
            type: "POST",
            timeout:30000,  
            dataType: "text", 
            data:getquestionid: 12, getcomment: "comment_value"               
          );

          alert("inside script");

          request.done(function (response, textStatus, jqXHR)

          console.log("Hooray, it worked!");
          //$("#comments").html(response);              
        );        

        request.fail(function (jqXHR, textStatus, errorThrown)               
          console.error("The following error occured: " + textStatus + ", " + errorThrown);
        );        

        request.always(function () );

        console.log("hi inside");           
      );
    </script>
  </head>
  <body>  
    <h1> 
      question: <br> jisofqw<br>        
    </h1>

     <p id = "comments">        
      comments <br>
    </p>

    Type your comment here
    <div id = "newcommentblock">
      <p id = "newComment">  </p>
      <form  id = "foo" name = "commentbox" action = "#" >
        <input type = "text" id ="newComment"   name = "newComment">
        <input type = "submit" value = "post a comment">
      </form>
    </div>

    <p id = "answer">
      answer
    </p>        
  </body>
</html>

【问题讨论】:

您的 id 重复。它只会选择出现在 DOM 中的第一个元素,该元素恰好是 p 标签,它不是输入字段。 【参考方案1】:

问题来了

<p id="newComment"></p>

&lt;p&gt;标签提供一个不同的ID

【讨论】:

请阅读editing help page。

以上是关于Javascript 输入字段值未定义的主要内容,如果未能解决你的问题,请参考以下文章

我输入的输入值未显示在 JavaScript 中

来自 JQuery 填充字段的值未绑定到 MVC 模型

JavaScript基础知识总结 17:JavaScript表单脚本

翻译后的占位符值未拉入 Symfony 4 表单字段

引导标签输入标签值未与表单一起提交

必填字段的 JSF 验证