form.submit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • form.submit

    Hallo @all,
    ich bin gerade ein Umsteiger von ASP!
    Ich versuche folgendes:
    PHP-Code:
    ...
    <
    script>
    validateForm()
    {

    prüfe ...
    if(
    true)
    {
    document.form[0].submit();
    return 
    true;
    }
    else
    {
    return 
    false;
    }
    validateDelete()
    {
    var 
    resp confirm('Really Delete?')
    if(
    resp == true)
    {
    document.form[0].submit();
    return 
    true;
    }
    else
    return 
    false;
    }


    <
    form name="bla" id="bla" action="mypage.php">
    einige Felder...
    <
    input type="submit" id="save" onclick="validateForm()" />
    <
    input type="submit" id="delete"  onclick="validateDelete()" />
    </
    form
    Jetzt habe ich zwei Probleme.
    1. Die Datei wird immer gesendet! egal ob ich bei dem confirm zustimme oder nicht bzw. die Valiedierung false liefert!.
    2. Wenn ich die Buttons als Button deklariere habe ich aber im $_POST kein Save Eintrag mehr?!!??!
    Vielleicht kann jemand einfach ein kleines Beispiel mir senden?
    Danke schon mal im Vorraus aber ich hänge an diesem "kleinen Problem" nun schon 1,5 Tage!
    tchau

  • #2
    ich denke, du solltest dich erst mal mit javascript-grundlagen beschäftigen. und installier dir mal den firebug für firefox, der zeigt dir wunderbar deine fehler an.
    1.
    PHP-Code:
    function validateForm() 
    2.
    leg den event-handler onsubmit auf das form tag!

    vielleicht hilft dir dieses kleine tutorial dabei.

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo erstmal,
      na werde mich mal an das Tutorial machen, hab bisher immer nur einfache Funktionen gebraucht.
      Aber vielleicht kannst du mir j avorher mal andeuten, was denn so total falsch war, das du mich in die 1. Klasse zurück versetzt ;-)

      Kommentar


      • #4
        Denke mal der Peter meint das du mit submit das Formular abfeuerst, das return false bringt da nix mehr ...
        würde ja in
        PHP-Code:
        <form name="bla" id="bla" action="mypage.php"
        ein onsubmit="return checkForm(this)" einbauen.
        PHP-Code:
        <form name="bla" id="bla" action="mypage.php"  onsubmit="return checkForm(this)" 
        checkForm dann sinngemäß:
        PHP-Code:
        function checkForm(form){
            
        // input feld testen
           
        if(form.irgend_ein_input_feld){
              if(
        form.irgend_ein_input_feld.value == ""){
                 
        alert('da fehlt was');
                 return 
        false;        
              }
           }
           
        // etc. pp. weiterprüfen, kann man aber noch schöner machen
           // wenn alles chic:
           
        return true;

        Zuletzt geändert von mcmurphy; 11.09.2008, 18:06.
        "I don't want to belong to any club that would accept me as a member."

        Groucho Marx

        Kommentar


        • #5
          Was dir mcmurphy geschrieben hat ist eine Möglichkeit. Eine Andere, die an deinen Anfang anknüpft wäre folgende:

          statt
          Code:
          <input type="submit" id="save" onclick="validateForm()" />
          <input type="submit" id="delete"  onclick="validateDelete()" />
          Code:
          <input type="button" id="save" onclick="validateForm()" />
          <input type="button" id="delete"  onclick="validateDelete()" />

          Kommentar


          • #6
            dein code wird nicht funktionieren.

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              dein code wird nicht funktionieren.
              @ Kropff: wenn meinst du, mich oder jmc?
              "I don't want to belong to any club that would accept me as a member."

              Groucho Marx

              Kommentar


              • #8
                Hallo zusammen,
                bin noch am lesen des Tutorials und bin begeistert vom Firebug, der (oder die?) ist echt super gemacht!
                Zu euren Antworten, danke ich euch,
                Kropff meinte, dass der Submit wohl zu froh kommt und meine Valids später ausgeführt werden, was auch richtig ist, da beide gleichzeitig ausgeführt werden.
                @murcphy: das kann man sicherlich tun allerdings, wenn du meinen Post liest, wirst du sehen, das ich zwei verschiedene überprufungen habe, aber in onSubmit ja kein "entweder oder" möglich ist.
                Meine Idee jetzt ist- wie jmc auch denkt- mit type=button, allerdings hatte ich dort das Problem, das die Post Variable nicht gefüllt wurde. Werde es aber trotzdem mit einfachen Buttons machen und dann zusätzlich ein Hidden Feld mit der ID des Quell Buttons füllen. falls ihr das für völligen Humbug haltet und eine bessere Idee habt nur los.
                Interessant, das keiner hier ne spontane Lösung hat.
                Bis dahin...

                Kommentar


                • #9
                  @Kropff Wenn du damit mich meinst, dann kann ich nur sagen, dass diese Variante sicher funktioniert wenn Javascript eingeschalten und die Funktion validateForm() richtig geschrieben ist.
                  Noch eine Möglichkeit wäre es auch in der validateForm()- Funktion einen versteckten submit- Button zu erstellen und den auszulösen.

                  Kommentar


                  • #10
                    Original geschrieben von jmc
                    @Kropff Wenn du damit mich meinst, dann kann ich nur sagen, dass diese Variante sicher funktioniert wenn Javascript eingeschalten und die Funktion validateForm() richtig geschrieben ist.
                    Noch eine Möglichkeit wäre es auch in der validateForm()- Funktion einen versteckten submit- Button zu erstellen und den auszulösen.
                    Ich halte sowas für das einzig wahre wenn es um die Verfikation von Formularen clientseitig geht

                    Code:
                    function valid() {
                        if (document.wuff.nick.value == "") {
                          alert("Bitte füllen sie das Feld Nick aus !");
                          document.wuff.nick.focus();
                          return false; 
                        }
                    
                    <form name="wuff" action="" method="post" onSubmit="return valid()">
                    <input type="text" name="nick">
                    </form>
                    Zuletzt geändert von Payne_of_Death; 12.09.2008, 04:12.
                    [color=blue]MfG Payne_of_Death[/color]

                    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                    [color=red]Merke:[/color]
                    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                    Murphy`s Importanst LAWS
                    Jede Lösung bringt nur neue Probleme
                    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                    Kommentar

                    Lädt...
                    X