Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
<input type="hidden/text" name="submit"> [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
<input type="hidden/text" name="submit">


 
syco23
21-10-2005, 04:20 
 
Hallo,

<input type="hidden" name="submit"> bzw. <input type="text" name="submit"> führt in Zusammenhang mit einem Submit per JS zu einem Fehler, sprich das Forumlar wird einfach nicht submittet.

Frage: Gibt es eine Workaround, wenn der Button nicht submit heißen soll? Kann es auch zu anderen Problemen führen? (versch. Browser, etc..).

Hintergrund:

Ich habe in allen Scripten mit Forumlareingaben die Einteilung if (isset($_POST['submit'])) {
..
} else {
..
echo '<input type="submit" name="submit">';
}
Wird nun ein Formular nicht mit der Maus sondern mit der Entertaste submittet, kann(!) es geschehen, dass $_POST['submit'] nicht zur Verfügung steht. (wann das genau der Fall ist und wann nicht habe ich noch nicht ganz durchschaut).

.. Also habe ich mir überlegt, dem Submit-Button einen anderen Namen zu geben und ein Hidden-Field mit Namen "submit" einzufügen. (bräuchte dann nur eine template-datei anzupassen).

Gruß,
Syco

 
Abraxax
21-10-2005, 08:59 
 
wenn du den button dazu missbrauchen wissen, um im script zu unterscheiden was passiert ist, kann man mehrere type="submit" 's nehmen und mit name="fkt1" unterscheiden.

aber was genau du willst, weiss ich nicht.

 
wahsaga
21-10-2005, 12:07 
 
Original geschrieben von syco23
führt in Zusammenhang mit einem Submit per JS zu einem Fehler, sprich das Forumlar wird einfach nicht submittet.
Ja, das ist leicht zu erklären.

Jedes Formularelement kannst du über document.formularname.feldname ansprechen - diese JS-Objekte werden automatisch aus deinen Formularfeldern erzeugt, stehen dir immer zur Verfügung.
Außerdem hat ein Formular von Haus aus eine Methode submit, die über document.formularname.submit() angesprochen werden kann.

Was passiert jetzt, wenn du einem Formularelement den Namen "submit" gegeben hast?
Richtig, es wird automatisch document.formularname.submit angelegt - und damit die Methode submit überschrieben.
Wenn du jetzt noch versuchst, diese aufzurufen, bekommst du eine Meldung in der Art "document.formularname.submit ist not a function". Korrekt, document.formularname.submit ist ja jetzt die Referenz auf dein Formularelement mit dem Namen "submit".
Frage: Gibt es eine Workaround, wenn der Button nicht submit heißen soll?
Wenn er nicht submit heißen soll?
Dann brauchst du keinen Workaround, dann hast du das Problem ja gar nicht - siehe oben.
Also habe ich mir überlegt, dem Submit-Button einen anderen Namen zu geben und ein Hidden-Field mit Namen "submit" einzufügen.
Dabei passiert auch wieder was? (... siehe oben)


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10 Uhr.