jquery从输入中获取值

时间:2014-05-14 16:55:28

标签: javascript jquery input

这让我很难过,应该很简单。 我的html中有一个输入:

<input type="text" id="fafsaNbrFam" name="fafsaNbrFam" value="<%=nbrFam%>" class="hidden" />
System.out.println(nbrFam);   // Works, gives me "6"

然后是我的js代码:

$("#submit").click(function(e) {                               
        var numEntries = 0;
        var fafsaNbr = 0;

        $("input[name^='name_']").each(function() {
          if (this.value) {
            numEntries++;
          }
        });

        // EVERYTHING ABOVE HERE WORKS

        fafsaNbr = $("input[name=fafsaNbrFam]").val();
        alert(fafsaNbr + "X");

        // WHERE THE 6 is I want to put the variable fafsaNbr, just hardcoded for now.

        if (6 > numEntries && !confirm("The number of members you listed in your household is less than the number you indicated on your FAFSA.  Please confirm or correct your household size. ")) {
          e.preventDefault();
        }
      });

在我的警告中测试这个,我得到了#undefinedX&#34;,所以基本上我的jquery得到的值是未定义的。

编辑:事实证明我的代码不是问题,而是我的输入的位置。即使正在处理原始输入位置,一旦我更改它,它们都能正常工作。不用说,我仍然难过。

3 个答案:

答案 0 :(得分:2)

您缺少名称值周围的引号。尝试:

fafsaNbr = $("input[name='fafsaNbrFam']").val();

答案 1 :(得分:1)

您的代码运行正常,

我刚刚将你的代码添加到jsFiddle,它可以正常工作

<强> Live EXAMPLE

请问您是否可以通过检查浏览器中的查看源来确定java scriplet是否正确加载在value标签内?

答案 2 :(得分:0)

尝试解析输入的值,如下所示:

    fafsaNbr = parseInt($("input[name=fafsaNbrFam]").val());

或者检查$(&#34;输入[name = fafsaNbrFam]&#34;)是否未定义。