这让我很难过,应该很简单。 我的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得到的值是未定义的。
编辑:事实证明我的代码不是问题,而是我的输入的位置。即使正在处理原始输入位置,一旦我更改它,它们都能正常工作。不用说,我仍然难过。
答案 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;)是否未定义。