Die übergabe eines form-variable in der "onsubmit" - Feld?
Ich versuche zu überprüfen, den Inhalt eines Formulars vor dem versenden. Im Grunde bin ich versucht, die zahlen in der form und sicherzustellen, dass Sie innerhalb des richtigen Bereichs. Das problem ist, dass das JavaScript habe ich das versucht, zu überprüfen, ob es denkt, dass die Sache übergeben wird, es ist NaN (ich habe Parsen).
Ein wenig Arbeit zeigte sich, dass die variable ("Größe") bezieht sich auf eine "HTMLInputEleMent", die ich Schätze, ist, in der Tat, NaN (obwohl ich bin mir nicht ganz sicher, was es eigentlich ist). Ich denke, dass das problem ist, dass das "onSubmit" ist nicht vorbei, was ich will, dass es vorbei ist, obwohl ich den Namen im Feld "Größe" und ich ging onSubmit "Größe" zu.
Ich versucht, indem Sie es in Anführungszeichen, aber das nur stellt es in einen string...
Frage ich mich, ob vielleicht Sie nicht übergeben Sie eine variable aus dem Formular, um es den onSubmit-Feld? Ist das so? Wenn ja, wie sollte ich das tun?
Hier ist das Formular:
<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>
Und hier ist die Funktion, aus 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;
}
Gibt es Verweise auf andere Funktionen, aber Sie sind nicht relevant, glaube ich. Die Warnungen waren/sind für debugging-Zwecke...
Vielen Dank im Voraus!
Ähm...vielleicht--wie mache ich das (ich bin ziemlich neu hier, im Fall, dass noch nicht klar geworden, aber...)
Siehe Antwort unten. Ich werde erarbeiten.
InformationsquelleAutor Jo.P | 2013-07-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, geben jeweils einen der Eingänge (Tag, Monat, Jahr, Größe) - id (verwenden Sie den gleichen Wert wie Ihre name-Attribut).
Der Wert von id in Ihrem
goodForm()
Funktion.<input type="text" name="day" id="day">
<-- setdocument.getElementById("some id").value
<--InformationsquelleAutor Tsikon
Erste, tut inline-Validierung wie folgt aus (via onsubmit) ist schlechte form. In der Regel werden Sie wollen Veranstaltung verbindlich, ich werde zu Beispiel-code unter Verwendung von jQuery, aber Sie können andere Methoden verwenden, wie gut.
Zuerst, geben Sie Ihrem Formular eine eindeutige ID-Attribut für die Seite. Ich gehe davon aus
<form id="MyForm"...
Als Nächstes werden Sie wahrscheinlich wollen, dass Ihre Validierung Methode, um "wissen" über die Felder, die Sie braucht.
InformationsquelleAutor Tracker1
Ist so etwas wie das, was du meinst?
JavaScript:
HTML:
Ausarbeitung:
Den onsubmit-Funktion an ein Element mit der id "myForm" angegeben in den HTML-Code als id="myForm". Sie können die lookup-Element mit dieser ID über die Methode getElementById auf das Dokument. Sie vorsichtig, nicht zu tun getElementByID (Id vs. ID). Wenn Sie das Formular Absenden, wird diese Methode aufgerufen, und Sie werden auf Ihrem Weg.
Dann können Sie die lookup-Elemente auf der Seite, um Ihren Wert erhalten den gleichen Weg, Sie blickte auf das Formular. Nur geben Sie eine ID wie die id="Größe", und Sie können es nachschlagen.
Können Sie auch etwas tun wie:
oder
...aber ich war schon Weg von dieser Methode, da, eine Weile zumindest, einige Browser es gehasst. Vielleicht ist es auch besser und schneller nun, ich bin mir nicht sicher.
InformationsquelleAutor oooyaya
In Fall, dass Sie nicht wollen, um JQuery verwenden:
Brauchen Sie nicht, um die übergabe der Parameter, versuchen Sie geben Sie eine id und bekommen Sie, indem Sie deren id innerhalb der guten form und Funktion.
InformationsquelleAutor ia.solano