Form ohne Submit

Identität

Erfahrenes Mitglied
Kann mir jemand sagen warum folgender Code nicht funktioniert? Ich habe eine Select Box, ohne submit Button. Wenn man den Wert ändert, soll es automatisch abgeschickt werden. Ich suche jetzt schon seit knapp 2 Stunden am Fehler *ärgerlich*

Code:
                <form action="<?php echo $_SERVER['SELF']; ?>" method="post" style="float:left;">
                    <select name="zeit" style="width:45px;">
                        <option onchange="submit();" name="1" <?php if($_SESSION['zeit'] == 1 OR empty($_SESSION['zeit'])){echo 'selected'; } ?>>1</option>
                        <option onchange="submit();" name="2" <?php if($_SESSION['zeit'] == 2){echo 'selected'; } ?>>2</option>
                        <option onchange="submit();" name="5" <?php if($_SESSION['zeit'] == 5){echo 'selected'; } ?>>5</option>
                        <option onchange="submit();" name="7" <?php if($_SESSION['zeit'] == 7){echo 'selected'; } ?>>7</option>
                    </select> 

                 <noscript>
                    <input type="submit" name="submit" value="anzeigen">
                </noscript>
                </form>
 
Hi,

der onchange-Event wird anstelle im option-Element üblicherweise im select- oder form-Element angegeben.

Beachten Sie:

Der Aufruf der Methode submit() funktioniert nicht mehr, wenn es im Formular ein Element (z.B. einen Absende-Button) gibt, welches ebenfalls den Namen submit besitzt. Gleiches gilt für alle anderen Überschneidungen von Methodennamen und Elementnamen. Der Grund ist, dass das Formularelement über document.Formularname.Elementname angesprochen werden kann, also in diesem Fall document.Formularname.submit, und dadurch die Methode submit() überschrieben wird.

mfg Maik
 
Oh man so ein peinlicher Fehler *schäm*

Danke, es funktioniert nun :-)

Kann man das Formular dann auch weiterverarbeiten?

Als der submit Button noch da war ging das ja noch so:
Code:
            if($_POST['submit']){

                      echo "Foo";

                }

Aber wie mache ich es ohne Submit?
 
Vielleicht möchtest du das einfach nur erreichen. Wichtig dabei ist nur Maik seinen Post nicht vergessen ;).

Javascript:
Code:
function abschicken (e) {
  document.getElementById(e).submit();
}

PHP:
<form action="<?=$_SERVER['SELF'];?>" method="post" id="meine_form" style="float:left;">
   <select name="zeit" style="width:45px;" id="mein_select">
      <option onchange="abschicken('this');" name="1" <?($_SESSION['zeit'] == 1 OR empty($_SESSION['zeit'])) ? {echo 'selected'; } ?>>1</option>
      <option onchange="abschicken('this');" name="2" <?($_SESSION['zeit'] == 2) ? {echo 'selected'; } ?>>2</option>
      <option onchange="abschicken('this');" name="5" <?($_SESSION['zeit'] == 5) ? {echo 'selected'; } ?>>5</option>
      <option onchange="abschicken('this');" name="7" <?($_SESSION['zeit'] == 7) ? {echo 'selected'; } ?>>7</option>
   </select> 
</form>
<?
if(isset($_POST['zeit'])) {
   echo $_POST['zeit'];
}
?>
 
Zuletzt bearbeitet von einem Moderator:
Gut ich höre für heute auf :-D

Ist natürlich logisch und funktioniert auch. Ohoh was ist mit mir los... werde ich alt?

Aber vielen lieben Dank!

@kalle123456 Auch dir vielen Dank für deine Hilfe, aber hat wirklich nur an meinem Brett vor dem Kopf gelegen :-P
 

Neue Beiträge

Zurück