Formularwerte, die vor dem senden geändert werden kommen nicht an

emefge

Grünschnabel
Hallo zusammen.
Ich hoffe, ihr könnt mir bei folgendem 'Problem' helfen:

Ich möchte vor dem Senden der Formulardaten noch Werte ändern und mitsenden.
Hört sich komisch an, ist aber eigentlich ganz einfach. Dachte ich.

Ich habe folgendes Script im Kopfbereich (nur zum Verständnis):
Code:
function sendform() {
	document.getElementById( 'land' ).value = 'Deutschland';
	return true;
}

Im Formular gibt es das entsprechende Feld und kurz bevor die Daten an ein php-Script gesendet werden, kann man sehen, dass im Feld Land 'Deutschland' steht.

Wenn ich im php-Script aber
Code:
print_r($_POST);
ausgebe, werden alle Felder übergeben. Das Feld land ist allerdings leer.
Ich habe auch versucht, anderen Felder auf diese Weise zu überschreiben. Gesendet werden aber nur die von mir erfassten Werte und nicht die geänderten Werte

Aufruf des scripts:
Code:
<form id="MainForm" name="MainForm" method="post" action="savenew.php" onsubmit="return sendform();" enctype="multipart/form-data">

und alternativ:

<input type="submit" value="Absenden" onclick="sendform();" />

wie gesagt, sehe ich ganz kurz, dass die Änderungen durchgeführt wurden... sie kommen aber nicht an.
Kann man keine Werte vor dem Senden ändern oder wo liegt mein Denkfehler?
 
Eigentlich müsste das funktionieren.

Vielleicht liegt es daran, dass beim onclick im Button-Tag kein return true; steht.
Versuche mal folgendes:
HTML:
<form id="MainForm" name="MainForm" method="post" action="savenew.php" onsubmit="sendform(); return true;" enctype="multipart/form-data">
 
<input type="hidden" value="" id="land" />
 
<input type="submit" value="Absenden" onclick="sendform(); return true;" />
 
sendform() sollte entweder bei onsubmit oder bei onclick ausgeführt werden, sonst wird die Funktion doppelt ausgeführt.

Ich würde allerdings onsubmit empfehlen, da so auch das Absenden des Formulars über die Tastatur abgedeckt ist. :)
 
Vielen Dank für eure Antworten... ich habe den Fehler gefunden :-(
Blindheit oder Dummheit.. naja oder beides.
Ich hatte das Feld land in einem div mit der selben id (land).
Code:
<div id="land">
<input type="text" name="land" id="land" size="32" />
</div>


Jetzt funktioniert alles wie es soll und ich habe mich auch für onsubmit entscheiden.

Nochmal vielen Dank.
 

Neue Beiträge

Zurück