2014-05-14 146 views
1

这让我很难过,应该很简单。 我有一个输入在我的html:jquery从输入获取价值

<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”,所以基本上我的jQuery获得价值未定义。

编辑:所以原来我的代码不是问题,但我的输入的位置。尽管正在处理原始输入展示位置,但一旦我改变了它,它就可以正常工作。不用说,我仍然难倒。

+3

为什么不选择ID而不是姓名? –

+0

它像一个魅力http://jsfiddle.net/EptYy/ –

+0

@diodeus对不起,我应该提到'#fafsaNbr'会冲突。尽管我试图摆脱那个相互矛盾的部分,只是为了尝试它,而我仍然没有定义它。 – Dan

回答

1

您的代码工作正常,

我只是说你的代码的jsfiddle和它的作品

Live EXAMPLE

能否请您确保,在Java scriplet加载值标签内正确或不通过检查浏览器中的查看源?

+0

标记为已回答。这不是scriptlet,而是我输入的位置。你的帖子让我重新思考。正在处理原始输入(我可以取出隐藏并在屏幕上看到它),但更改位置仍然以某种方式修复它。仍然不确定原因。 – Dan

2

您错过了名称值周围的引号。尝试:

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

单引号是可选的 – Sai

+0

@Ballbin无需引用。它工作没有它 –

0

尝试分析输入的值是这样的:

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

或检查$( “输入[名称= fafsaNbrFam]”)是未定义或不是。

+0

我得到NaNX在我的戒备。尚未定义。 – Dan