Próbuję zweryfikować zawartość formularza przed jego wysłaniem. Zasadniczo próbuję pracować z liczbami w formularzu i upewnić się, że są one w odpowiednim zakresie. Problem polega na tym, że JavaScript, który próbuję zweryfikować, uważa, że przesyłany do niego element to NaN (parsowałem go).Przekazywanie zmiennej formularza do pola onsubmit?
Niewielka praca ujawniła, że zmienna ("rozmiar") odnosi się do "HTMLInputEleMent", która, jak sądzę, jest rzeczywiście NaN (chociaż nie jestem do końca pewny, co to właściwie jest). Myślę, że problem polega na tym, że onSubmit nie przekazuje tego, co chcę, aby przechodził, mimo że nazwałem pole "size" i przekazałem również "Slipmit" rozmiar.
Próbowałem umieszczenie go w cudzysłowie, ale to po prostu zamienia ją w ciąg ...
Zastanawiam się, czy może jesteś w stanie przekazać zmienną z poziomu formularza, aby to pole onSubmit? Czy tak jest? Jeśli tak, jak mam to zrobić?
Oto forma:
<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>
I tu jest funkcja, z 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;
}
Są odniesienia do innych funkcji w tam, ale nie są one istotne dla to, myślę. Alerty były/są do celów debugowania ...
Z góry dziękuję!
Czy możesz wyszukać pole identyfikatorem wewnątrz metody onsubmit? – oooyaya
Er ... może - jak to zrobić (jestem całkiem nowy, na wypadek, gdyby nie stało się jasne ...) –
Zobacz odpowiedź poniżej. Rozwiążę to. – oooyaya