• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

js bei onclick submit-button

FreddyS

Neues Mitglied
Hallo zusammen,

ich habe ein formular mit verschiedenen submit-buttons.

Beim Anklicken eines bestimmten buttons soll eine js-prüfroutine aufgerufen werden, beim anklicken der anderen buttons nicht.

Wenn die Prüfung keinen Fehler ergibt, soll das Formular gesendet werden, ansonsten nicht (Fehlermeldung)

Ich habe das wie folgt zu lösen versucht:

Code:
echo'<input type = "submit" name="isrt" value="Anzeige ver&ouml;ffentlichen"  onsubmit="return pruef()">';

Code:
function pruef()
{
var strFehler='';
  if (document.f.titel.value=="")
    {
    strFehler += "Feld Titel ist leer\n";
    }
  if (document.f.bz.value=="")
   {  
   strFehler += "Feld BZ ist leer\n";
   }
   if (strFehler.length>0)
   {
    alert("Anzeige unvollstaendig/fehlerhaft: \n\n"+strFehler);
    return(false);
   }
}

Funktioniert aber nicht, was ist falsch ??

Wenn ich den Aufruf der pruefroutine im form abwickle, funktioniert die Prüfung zwar (so hatte ich es vorher), aber dann wird die pruefroutine auch beim anklicken der anderen buttons durchlaufen
 
danke crash, das habe ich vermutet, wollte es aber sicher wissen.

Wie kann ich nes dann erreichen, dass beim anklicken des submit-buttons nicht der form-submit aktiviert wird, sondern zuerst eine js-prüfroutine aufgerufen wird ??

ich habe es auch schon mit onclick versucht, aber das funktioniert auch nicht.

Es muss doch eine Möglichkeit geben, beim Klicken eines submit-Buttons nicht den form-submit zu aktivieren, sondern eine prüfroutine zu durchlaufen

Jetzt bin ich es noch einmal, zum besseren verständnis:

Das Ergebnis der Prüfung (true/false) sollte nicht im form-tag abgehandelt werden, sondern im submit-button .

Gibt es keine Möglichkeit, im submit-button (oder wie auch immer) eine Prüfroutine aufzurufen usw. und im Fehlerfalle die form nicht abzusenden(return false ??)

Aber dies sollte eben nur für diesen einen submit-button gelten, alle anderen sollen ganz normal absenden.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben