ebi: InputFeld mit onChange (falsche Aktion bei ENTER)

Ich habe folgenden code:

<form>
<input onChange="location.href = '{$_SERVER['PHP_SELF']}?anzahl='+escape(this.value)+'&pid=".urlencode($pid)."';" class=anzahl size=1 maxlength=3 value=$anzahl>
</form>

wenn ich jetzt eine eingabe mache und dann die Zelle verlasse, ruft er die richtige URL auf.
Bei ENTER ruft er nur die >>$PHP_SELF  +  ?  <<URL auf!

Ich möchte aber dass bei ENTER die URL aufgerufen wird, wie jetzt beim verlassen der Zelle.

Wie bekomme ich das hin?

  1. Hi,

    <form>

    ERROR: Required attribute "action" missing.

    <input onChange=[...]

    Das ist ungültiges HTML, der Backslash muss innerhalb von Anführungszeichen notiert werden.

    [...]&[...]

    Danke für die korrekte HTML-Kodierung, die leider viel zu oft vergessen wird.

    [...] value=$anzahl>

    Hiermit schießt Du Dir evtl. selbst ins Knie. Quotes, my dear, quotes.

    Bei ENTER ruft er nur die >>$PHP_SELF  +  ?  <<URL auf!

    Dein Browser ist so konfiguriert, dass er bei Druck auf die Entertaste das Formular abschickt - fälschlicherweise an die aktuelle URL (bei einem fehlenden action-Attribut ist _alles_ fälschlicherweise). Ob in dem Moment der onChange-Handler noch Gelegenheit hat zu feuern, ist ungewiss.

    Ich möchte aber dass bei ENTER die URL aufgerufen wird, wie jetzt beim verlassen der Zelle.
    Wie bekomme ich das hin?

    Schreibe gültigen HTML-Code, der auch ohne JavaScript funktioniert. _Erst dann_ sorge für Bequemlichkeit bei JavaScript-tauglichen Clients.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. HAHAHAHAHAHAHA!!!!

      Ich programmiere in PHP da muss das so aussehen, da kann ich leider auch nichts machen!

      und der Backslash ist für PHP damit PHP den ECHO Befehl nicht wieder schließt.

      Das ganze funktioniert ja auch soweit, bis auf das mit dem ENTER.

      Ich möchte dass bei ENTER auch die Variabeln übergeben werden.

      HILFST DU MIR NUN, ODER NICHT??

      Wäre auf jeden Fall dankbar...

      1. Hi,

        HAHAHAHAHAHAHA!!!!

        Geht es dir gut? Soll ich den Netzarzt holen? [dsf 2.13]

        Ich programmiere in PHP da muss das so aussehen, da kann ich leider auch nichts machen!

        Recherchiere bitte im Archiv, welche Bedeutung serverseitigem Code bei clientseitigen Problemen beikommt,

        und der Backslash ist für PHP damit PHP den ECHO Befehl nicht wieder schließt.

        und warum dies nicht nur *völlig* bedeutungsfrei, sondern kontraproduktiv ist.

        HILFST DU MIR NUN, ODER NICHT??

        Das habe ich bereits; ich habe Dir genaue Anweisungen gegeben, was zu tun ist. Und schrei bitte nicht so.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Ach ja wenn du meinst und hier der ganz coole spielen musst!

          Kenne genug von denen wie dir, die hier meinen allen anderen mit ihren coolen Sprüchen helfen zu können und damit nichts errichen! Da muss einer mehr auch nicht sein!

          Bitte die anderen um HILFE!

          ein CODE Beispiel wäre nicht schlecht... (BIDDE)

          1. Hi,

            Ach ja wenn du meinst und hier der ganz coole spielen musst!

            siehe diesbezüglich bitte im Archiv.

            Kenne genug von denen wie dir, die hier meinen allen anderen mit ihren coolen Sprüchen helfen zu können und damit nichts errichen! Da muss einer mehr auch nicht sein!

            Ich habe Dir _genau_ gesagt, was Du zu tun hast, um Dein Problem zu lösen. Wenn Du nicht in der Lage bist, dies umzusetzen, bist Du in diesem Forum fehl am Platz.

            ein CODE Beispiel wäre nicht schlecht... (BIDDE)

            Siehe zu den Gründen, warum Du hier keine Code-"Beispiele" bekommst, im Archiv. Hier ist *selbst* zu denken angesagt.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo ebi,

    Warum eröffnest Du einen neuen Thread? Einer reicht doch. [pref:t=54295&m=301533]

    Ich möchte aber dass bei ENTER die URL aufgerufen wird, wie jetzt beim verlassen der Zelle.

    Am einfachsten dürfte sein: Füge in das Formular einen onsubmit-Eventhandler ein, der genau das gleiche durchführt wie der onchange-Eventhandler im Textfeld. Nur, dass Du den Wert des Textfeldes nun nicht mehr mit this.value sondern mit this.NameDesTextfeldes.value referenzieren musst.

    Viele Grüße,
    Christian