Formular wert auslesen
Hugo
- javascript
0 derletztekick0 Hugo0 derletztekick0 Hugo0 Struppi0 Hugo
0 derletztekick
0 Hans0 Struppi0 Struppi
1 Siechfred
Hallo,
folgendes Problem:
Ich habe ein Formular, welches ich via JS versende. Also mit einer Funktion und submit().
Es wird diesem Formular nur der Wert eines Radiobutton mitgegeben. Dieser Wert (Zahl) möchte ich gerne in meiner Sendefunktion auslesen.
Wenn ich jedoch versuche auf den Wert mit
document.formular.radioname.value
darauf zuzugreifen, bekommen ich ein undefinied.
Habe ich einen Denkfehler?
Vielen Dank
Hugo
Hallo Hugo,
Wenn ich jedoch versuche auf den Wert mit
document.formular.radioname.value
darauf zuzugreifen, bekommen ich ein undefinied.
Welche Du das Formualr absendest, wird die selbe Seite (in der sich das Formular befindet) geladen? Wenn Du es nur mit JS auswerten möchtest, ist es nicht nötig, dieses abzusenden. Du könntest den Event: onsubmit() nutzen, Dein Formular mittels JS auszuwerten und, damit es sich nun nicht verschickt, ein return false;
mitgeben.
Sollten sich Dein Formular verschicken müssen, so kannst Du mit search auf alle Parameter des Formulars zugreifen, sofern diese mit GET übermittelt wurden.
Mit freundlichem Gruß
Micha
Hi Micha,
nein, ich versende auf eine andere Seite.
Als method nutze ich POST. Und onsubmit geht nicht, da ich so gesehen keinen Button habe.
Trotzdem ne Idee?
Hugo
Hallo Hugo,
Du kannst afaik mit JS nicht auf Daten zugreifen, die Du via POST an eine andere Seite übermittelst. Dein Versuch scheitert daran, das in der neuen Seite das Formular nicht mehr existiert. Da es sich jedoch nur um eine Ziffer handelt, könntest Du, wie beschrieben, mit GET auf diese zugreifen.
Mit freundlichem Gruß
Micha
Hi Micha,
ich greife ja auf der sendenden Seite schon darauf zu, zumindest versuche ich es ;-)
Ideen?
Danke
Hugo
ich greife ja auf der sendenden Seite schon darauf zu, zumindest versuche ich es ;-)
Ideen?
Es ist kein Problem auf einen Radiobutton zu zugreifen.
https://forum.selfhtml.org/?t=134549&m=872871
Struppi.
Hallo,
danke für eure Hilfe und ganz besonders an Struppi.
Es hat geklappt.
Dank euch
Hugo
Hallo Hugo,
ich greife ja auf der sendenden Seite schon darauf zu, zumindest versuche ich es ;-)
Ich habe, nachdem Struppi nun noch einmal explizit auf seinen Lösungsansatz hinwies, Dein Ausgangsposting gelesen. Ich war der Annahme, das Du in der "Empfängerdatei" diese Daten zur Verfügung haben möchtest, dem ist ja nicht so. Ich hatte mich da wohl verlesen. *peinlich*
So wie er es löst, kannst Du drauf zugreifen.
Mit freundlichem Gruß
Micha
Hi !
darauf zuzugreifen, bekommen ich ein undefinied.
Habe ich einen Denkfehler?
Nein, das ist dieser blöde Fehler, den ich auch schon hatte. Mein Workaround:
<input type=radio name="bla" onclick="my_handler(0)">
<input type=radio name="bla" onclick="my_handler(1)">
<script>
var radio_state=0;
function my_handler(i) {
radio_state=i;
}
</script>
So kannst Du über die Variable radio_state rausfinden, welcher Button gedrückt wurde.
Gruß
Hans
Es wird diesem Formular nur der Wert eines Radiobutton mitgegeben. Dieser Wert (Zahl) möchte ich gerne in meiner Sendefunktion auslesen.
Wenn ich jedoch versuche auf den Wert mit
document.formular.radioname.value
darauf zuzugreifen, bekommen ich ein undefinied.
Logisch, du hast ja vermutlich mehrere Radiobuttons mit dem gleichen Namen?
Dann musst du also rausfinden welcer gewählt wurde und dessen value suchst du:
function getValue()
{
for(var i = 0; i < document.formular.radioname.length; i++)
if( document.formular.radioname[i].checked)
return document.formular.radioname.value;
return null;
}
Struppi.
if( document.formular.radioname[i].checked)
return document.formular.radioname.value;
*grrr*
Natürlich:
return document.formular.radioname[i].value;
Struppi.
Hell-O!
Es wird diesem Formular nur der Wert eines Radiobutton mitgegeben. Dieser Wert (Zahl) möchte ich gerne in meiner Sendefunktion auslesen. Wenn ich jedoch versuche auf den Wert mit document.formular.radioname.value darauf zuzugreifen, bekommen ich ein undefinied.
Du kannst testen, welcher Radiobutton ausgewählt wurde, liest sodann seinen Wert aus und tust damit, was immer du tun möchtest. Beispiel:
Ein Formular in der HTML-Datei:
<h1>Welche Band hörst du gerne?</h1>
<form name="musiform" action="">
<p>
<input type="radio" name="musik" value="Poser"> Manowar
<input type="radio" name="musik" value="Wimp"> Bon Jovi
<input type="radio" name="musik" value="Rocker"> Motöhead
</p>
<p><input type="button" value="Auswerten" onclick="Sagsmir()"></p>
</form>
Und ein bisschen Javascript im Kopfbereich der HTML-Datei:
function Sagsmir () {
for ( i=0; i<document.musiform.musik.length; i++ ) {
if (document.musiform.musik[i].checked == true)
alert("Du bist ein " + document.musiform.musik[i].value);
}
}
Statt des "alert" kannst du den Wert auch einer Variablen zuweisen.
Siechfred