Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
91
rated 0 times [  96] [ 5]  / answers: 1 / hits: 62396  / 11 Years ago, wed, july 10, 2013, 12:00:00

I am trying to verify the contents of a form before sending it. Basically, I'm trying to work with the numbers in the form and ensure they are within the correct range. The problem is that the JavaScript I have which is trying to verify it thinks that the item being passed to it is NaN (I have been parsing it).



A little work revealed that the variable (size) is referring to an HTMLInputEleMent, which I guess is, indeed, NaN (although I am not quite sure what it actually is). I think that the problem is that the onSubmit is not passing what I want it to be passing, even though I named the field size and I passed onSubmit size too.



I tried putting it in quotation marks, but that just turns it into a string...



I am wondering if perhaps you are unable to pass a variable from WITHIN the form to it's onSubmit field? Is that so? If so, how should I do this?



Here is the form:



        <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>


And here is the function, from 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;
}


There are references to other functions in there, but they aren't relevant to this, I think. The alerts were/are for debugging purposes...



Thanks in advance!


More From » forms

 Answers
26

You can try giving each one of the Inputs (day, month, year, size) to id (you can use the same value as your name attribute).
Get the value by id within your goodForm() function.



<input type=text name=day id=day> <-- set



document.getElementById(some id).value <-- get


[#77079] Tuesday, July 9, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
marint

Total Points: 550
Total Questions: 105
Total Answers: 124

Location: Zambia
Member since Sat, Oct 31, 2020
4 Years ago
;