【问题标题】:jquery val() not workingjquery val() 不工作
【发布时间】:2011-02-28 15:51:07
【问题描述】:

jQuery val() 不起作用,这是简单的脚本:

$("#com_form").submit(function () {
    var name = $("#nama").val();
    var komentar = $("#komentar").val();
    alert.("Hi, " + name + " this is your comment: " + komentar)
});

这是 HTML 表单:

<form method="post" name="com_form" id="com_form">
  <p>What is your name:<br>

    <input type="text" name="nama" id="nama">
  </p>
  <p>Leave your comment here:<br>

    <input type="text" name="komentar" id="komentar">
  </p>
  <p>
    <input type="submit" name="button2" id="button2" value="Submit">
  </p>
</form>

实际上,我试图创建 ajax 帖子,提交了值“nama”但没有提交“komentar”。所以我尝试使用警报(如上面的一个)进行调试,但“komentar”仍然没有改变。我该怎么办?

【问题讨论】:

  • alert.(…) 你这里多了一个点。
  • 除了警报后的.,您的代码可以工作:jsfiddle.net/HATSX
  • 同时删除*/。如果这段代码之前也有/*,请将其删除。它即输出(禁用)整个代码块。
  • 如果它适合你,请接受答案

标签: javascript jquery


【解决方案1】:

您的 html 中有一些错误。表单应该有“action”属性,js也不好。

我制作了可以正常工作的示例 html 和 js 文件。 html文件通过w3.org验证,js通过jslint。

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.4.2"); </script> <script type="text/javascript" src="2988992.js"></script> <title>Insert title here</title> </head> <body> <form method="post" name="com_form" id="com_form" action="2988992.html"> <p>What is your name:<br> <input type="text" name="nama" id="nama"> </p> <p>Leave your comment here:<br> <input type="text" name="komentar" id="komentar"> </p> <p> <input type="submit" name="button2" id="button2" value="Submit"> </p> </form> </body> </html> "use strict"; /*global $, alert*/ $(function () { $("#com_form").submit(function () { var name = $("#nama").val(); var komentar = $("#komentar").val(); alert("Hi, " + name + " this is your comment: " + komentar); return false; //prevent standard behavior }); });

【讨论】:

  • 表单不需要操作属性。如果未设置 - 它将发布到当前 url
【解决方案2】:

删除 .在警报语句之后,因此它读取;

 alert("Hi, "+name+" this is your comment: "+komentar)

【讨论】:

    【解决方案3】:

    试试

    $(document).ready(function()
      { 
        //jquery code here 
      }
    

    【讨论】:

      【解决方案4】:

      您在页面的其他位置是否有另一个 ID 为“komentar”的 HTML 元素?

      【讨论】:

      • 我在 Django 中工作,并且在我的 base.html(所有页面的模板)中有一个具有相同 id 的输入。你的回答真的救了我。
      猜你喜欢
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 2015-08-04
      • 2017-01-24
      • 1970-01-01
      相关资源
      最近更新 更多