peterle: mehrere Inputfelder und mehrere Tasten

Hai,

zwischen <body> und </body>:

<form action="" name="suche">

<input type ="text" name="plz" usw.>
<img src="bilder/btn-suchen.gif" border="0" align="absmiddle" onclick ="suchenPlz()" style="cursor: pointer">

<input type ="text" name="ort" usw.>
<img src="bilder/btn-suchen.gif" border="0" align="absmiddle" onclick ="suchenOrt()" style="cursor: pointer">

</form>

die Functionen ()

function suchenPlz(){
  if(document.suche.plz.value == ""){
    alert("FEHLER!|\nKein Text angegeben");
  } else {
    document.suche.method = "post";
    document.suche.action = "suchPlz.php";
    document.suche.submit();
    return;
  }
}

function suchenOrt(){
  if(document.suche.ort.value == ""){
    alert("FEHLER!|\nKein Text angegeben");
  } else {
    document.suche.method = "post";
    document.suche.action = "suchOrt.php";
    document.suche.submit();
    return;
  }
}

Das klappt soweit ganz gut.
Besser wärs, wenn ich in dem jeweiligen input die Enter Taste drücken könnte und die dazugehörende Function würde aufgerufen.

Setze ich aber jeweils eine getrennte Form und die Buttons in <input type="image"...
Dann klappts zwar mit dem Enter drücken, aber nicht mit dem Überprüfen nach Inhalt, da ja der submit ausgelöst wird.

Gibts ne 3.Variante, auf die ich jetzt nicht komme?

  1. Hi,

    Gibts ne 3.Variante, auf die ich jetzt nicht komme?

    Schicke nicht beide Eingaben an unterschiedliche serverseitige Scripte, sondern werte sie in einem Script aus.
    Dann kann der Zirkus mit dem Setzen der action per JavaScript entfallen - was er sowieso tut, wenn kein JavaScript verfügbar ist, womit deine Lösung sowieso kaputt ist.

    Und zur clientseitigen Prüfung, ob in mindestens einem der Felder eine Eingabe gemacht wurde - dazu findest du mit ein wenig Suchen sicher was, das ist ja schließlich alles andere als ein neues Thema.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Schicke nicht beide Eingaben an unterschiedliche serverseitige Scripte, sondern werte sie in einem Script aus.

      Das mache ich sowieso. In Wirklichkeit wird die Seite wieder aufgerufen, von der aus die Suche abgeschickt wird.
      Es ist einfach doof an der Stelle, wenn erst serverseitig gecheckt wird.

      Naja. Werd ich wohl mit leben müssen.

      Danke

      1. Hi,

        Schicke nicht beide Eingaben an unterschiedliche serverseitige Scripte, sondern werte sie in einem Script aus.

        Das mache ich sowieso.

        Aber nicht mit deinem derzeitigen Code - da wechselst du explizit die Zieladresse, an die die Formulardaten geschickt werden, per JavaScript.

        Es ist einfach doof an der Stelle, wenn erst serverseitig gecheckt wird.

        Daran, zusätzlich clientseitig zu prüfen, hindert dich doch niemand.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?