我正在尝试在发送表单之前验证表单的内容。基本上,我正在尝试使用表格中的数字并确保它们在正确的范围内。问题是我试图验证它的 JavaScript 认为传递给它的项目是 NaN(我一直在解析它)。
一些工作表明变量(“size”)指的是“HTMLInputEleMent”,我猜它确实是NaN(虽然我不太确定它实际上是什么)。我认为问题在于 onSubmit 没有传递我希望它传递的内容,即使我将字段命名为“size”并且我也传递了 onSubmit “size”。
我试着把它放在引号里,但这只是把它变成一个字符串......
我想知道您是否无法将表单中的变量传递给它的 onSubmit 字段?是这样吗?如果是这样,我该怎么做?
这是表格:
<form onsubmit="return goodForm(size, day, month, year)" action="http://localhost:8080/pomper_servlet/CostCalc" method="GET">
The day of the month must be entered as a number (ex: 1,22)
<input type="text" name="day"><br>
The month of the year must be entered as a number (ex: Jan.=1, etc.)
<input type="text" name="month"><br>
The year must be entered as a 4 digit number (ex: 2008, 2017)
<input type="text" name="year"><br>
Please Choose a tour-length, in accordance with the chart below:
<input type="TEXT" name="length"><br>
How many people will be in your group? (No More than 10 allowed!)
<input type="text" name="size"><br>
Please select a tour:<br>
<input type="RADIO" name="tour" value="Gardiner Lake">
Gardiner Lake<br>
<input type="RADIO" name="tour" value="Hellroaring Plateau">
Hellroaring Plateau<br>
<input type="RADIO" name="tour" value="The Beaten Path">
The Beaten Path<br>
<input type="SUBMIT" value="Submit">
</form>
这是来自functions.js的函数:
function goodForm(gSize, day, month, year) {
"use strict";
window.alert("goodFrame(): "+gSize);
var groupSize1 = parseInt( gSize.replace(/^"|"$/g, ""), 10);
window.alert("goodFrame(): "+groupSize1);
var sizeInt = parseInt(groupSize1);
if(groupSize(sizeInt) && goodDate(day, month, year)){
window.alert("true");
return true;
}
else{
window.alert("false")
return false;
}
那里有对其他功能的引用,但我认为它们与此无关。警报是/用于调试目的......
提前致谢!