[JavaScript] Per Javascript Dokumentfelder checken

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

  • #31
    Original geschrieben von Byteandi
    onClick="document.stammgeraet.action='addmodell.php?aktion'


    Ich habs vergessen, sowas geht bei formularen eigentlich gar nicht und du kannst an das .action nicht gleich nen parameter haengen.



    Byteandi
    falsch

    Kommentar


    • #32
      ich hab da smal probiert und dabei ziemliche probs gehabt, ich musste die anderen anweisungen ueber ein hidden feld angeben, ich weiss jetzt nicht mehr ob er das formular die parameter die ich gleich im action feld mit angegeben hatte nur abgeschnitten oder damit einen fehler verursacht hatte, aber irgendwas war...


      Byteandi
      Sport Dates

      Kommentar


      • #33
        Hallo Byteandi,

        die Variable geklickt hatte ich deswegen eingebaut, da ich zwie Submitbuttons im Formular hatte und durch versehentliches drücken der Enter-Taste das Formular schon abgeschickt wurde. Damit habe ich erreicht, dass das Formular nur per Klick abgeschickt werden kann.

        Das brauche ihc aber nicht unbedingt mehr, denn es soll ja sowieso nur abeschickt werden können, wenn alle Pflichtfelder ausgefüllt sind und da habert es bei mir. Ich habe zwei Submitbuttons mit jeweils unterschiedlichen Zielen. Der erste Submit-Button soll betätigt werden, ohne dass die Pflichtfelder-Prüfung durchgeführt wird, da über diesen Submit-Button zwei Pflichtfelder gefüllt werden.

        Der zweite Submit-Button soll erst die Pflichtfelder prüfen und wenn die Pflichtfelder alle ausgefüllt sind, dann soll das Formular abgesendet werden.

        Danke, Chriss

        Kommentar


        • #34
          Hallo, also da sind schon einige kleine Fehler (was mich wundert, ansonsten sieht das Formular ja echt toll aus....

          PHP-Code:
          <script type="text/javascript">
          <!--
          var 
          geklickt=false;
          function 
          chkFormular()
          {
           if(
          document.stammgeraet.hersteller.value == "{hersteller}" || document.stammgeraet.hersteller.value == "")  {
             
          alert("Bitte einen Hersteller auswählen!");
             
          document.stammgeraet.hersteller.focus();
             return 
          false;
            } 
          so musst du die Abfragen machen, wenn du im value schon etwas angibst, kannst du doch nicht abfragen ob es inhaltslos ist, (weil ist es ja nicht) also musst du abfragen ob der alte voreingestellte value wert noch da ist.
          dann muss da unbedingt "var geklickt=false;" in die Javascript anweisung mit rein.

          das mit dem parameter :

          PHP-Code:
          <input type='submit' value='Auswahl' onClick="geklickt=true; document.stammgeraet.action='addmodell.php?aktion'; return true;"></td
          ist wie ich sagte, er übernimmt es so nicht und schneidet es ab, das musst du in einem hidden feld einbauen und auf denn wert setzen den du gerade benötigst.

          Byteandi
          Zuletzt geändert von Byteandi; 31.03.2004, 07:41.
          Sport Dates

          Kommentar


          • #35
            Original geschrieben von Byteandi
            ich hab da smal probiert und dabei ziemliche probs gehabt, ich musste
            die anderen anweisungen ueber ein hidden feld angeben, ich weiss jetzt
            nicht mehr ob er das formular die parameter die ich gleich im action feld mit
            angegeben hatte nur abgeschnitten oder damit einen fehler verursacht
            hatte, aber irgendwas war...


            Byteandi
            da hast du wahrscheinlich mit der Länge des URLs übertrieben, weil die
            URL eine max. zulässige Länge nicht überschreiten darf und sie ist IMHO
            von Browser zu Browser unterschiedlich. D.h. z.B. wenn du den Inhalt einer
            Textarea per URL übergibt, dann solltest du dich nicht wundern, wenns
            abundzu nicht funz.

            BTW: du verwirrst den Tomcat ja nur noch mit deinem Posting.

            @Tomcat liest bitte die Postings von @wasaga und von mir in Ruhe durch.
            Die Lösung (2) hast du schon, du musst nur eines davon umsetzen.
            Zuletzt geändert von asp2php; 31.03.2004, 09:13.

            Kommentar


            • #36
              also ich hab es bei seinem Formular auch probiert und es wurde nicht mit übergeben....

              aber gut...........wie ich schon sagte ich bin nicht der, der Javascript erfunden hat, Ich arbeite hier mit dem Microsoft developer Packet Microsoft visual J++, das heisst ich kann das Formular mit dem Script sehr schoen testen, das die eine Variable nicht angegeben war iss doch richtig oder, das er wenn er nen Feld mit einem angegebenen Value wert hat nicht auf inhaltslos testen kann doch auch oder ?



              Byteandi
              Sport Dates

              Kommentar


              • #37
                Original geschrieben von Byteandi
                also ich hab es bei seinem Formular auch probiert und es wurde nicht mit übergeben....
                das Ding ist doch fehlerhaft
                [i]
                das er wenn er nen Feld mit einem angegebenen Value wert hat nicht auf
                inhaltslos testen kann doch auch oder ?
                richtig, aber ich denke, dass er das selbst erkennen muss, da es ziemlich
                offensichtlich ist

                Kommentar


                • #38
                  also, sowas laesst mir ja keine Ruhe,

                  PHP-Code:
                  <form action='test.html?hallo=hier' method='get' name='andi'>
                  <
                  input type='text' value='' name='mein_text'>
                  <
                  input type='submit' value='absenden' name='hier'>
                  </
                  form
                  teste das bitte aus und du wirst sehen, das '?hallo=hier' nicht mit übergeben wird.


                  Byteandi
                  Sport Dates

                  Kommentar


                  • #39
                    bei method="get" werden die Form-Elemente an die URI drangehängt,
                    daher funz das was du machst nicht.

                    von @Tomcat die Form ist aber mit method="post" und daher kann man
                    auch QueryVariable mitgeben.

                    Kommentar


                    • #40
                      @asp2php

                      Ich versuche das gerade nochmal zu verstehen, was wahsaga gepostet hat:
                      Original geschrieben von wahsaga
                      [B]dann nimm dir noch ein zusätzliches flag, welches deine prüf-funktion ebenfalls auswertet, und wenn es true ist, gleich true zurückgibt.{/B]
                      Ich habe doch im Kopf der Seite die Variable geklickt. Diese setzte ich auf false.

                      Original geschrieben von wahsaga
                      setze dieses flag am anfang auf false, und lasse den zweiten submit-button, der ungeprüft verschicken soll, es onClick auf true setzen.
                      Dann habe ich bei onSubmit des Formulares "return chkFormular();" hingesetzt, damit er beim Abschicken des Formulares die Pflichtfelder prüft. Bei dem Button, der nicht geprüft werden soll, habe ich nichts weiter gemacht. Bei dem Button mit Prüfung habe habe ich bei onClick "geklickt = true" gesetzt.

                      Die Funktion chkFormular() habe ich erweitert und frage nun vorher noch ab, ob geklickt auf true gesetzt ist. Wenn das der Fall ist, dann soll er die Felder überprüfen und ansonsten true zurückliefern.

                      Habe ich das soweit richtig verstanden oder was muss ich noch tun, damit es funktioniert, denn momentan schickt er das Formular in beiden Fällen ohne Prüfung ab.

                      Hier nochmal das Formular.
                      Angehängte Dateien

                      Kommentar


                      • #41
                        PHP-Code:
                        <script type="text/javascript">
                        <!--
                        function 
                        chkFormular()
                            if (
                        geklickt == true)

                        du hast bei der funktion ne klammer vergessen, und am ende auch, mit was schreibst du das eigentlich ??? mit einem normalen Editor

                        PHP-Code:
                        <script type="text/javascript">
                        <!--
                        function 
                        chkFormular()
                        {  if (
                        geklickt == true)
                            { 
                        ist richtig und wie gesagt am ende musst du die funktion auch wieder abschliessen.


                        bei method="get" werden die Form-Elemente an die URI drangehängt,
                        daher funz das was du machst nicht.

                        von @Tomcat die Form ist aber mit method="post" und daher kann man
                        auch QueryVariable mitgeben.
                        hmmmmm was soll ich jetzt dazu sagen, ich habe das local probiert, (ohne apache) und er hat bei method='post' gar keine parameter mit übergeben ????????

                        werde es jetzt also mit meinem apachen testen....


                        Byteandi

                        Byteandi
                        Sport Dates

                        Kommentar


                        • #42
                          Den HTML-Code im Text-Editor zusammezuklicken ist mir zu viel Arbeit. Dazu nehme ich dann Frontpage zur Hilfe, aber alles, was mit Code zusammenhängt, sprich PHP und Javascript, füge ich mittels Text-Editor ein.

                          EDIT:

                          So, das funktioniert jetzt schon ganz gut. Über den einen Button efolgt keine Prüfung und über den anderen Erfolg eine Prüfung. Allerdings ist es so, dass ich bei dem Button mit Prüfung nur einmal draufklicken kann. Danach bekomme ich die Prüfung auch bei dem Button ohne Prüfung.

                          Wie kann ich das noch beheben?

                          Zuletzt geändert von Tomcat Chriss; 31.03.2004, 19:16.

                          Kommentar


                          • #43
                            da du mir echt auf dem Geist gehst poste ich ein Bsp.
                            bitte in Ruhe anschauen und das Funktionsprinzip zu verstehen lernen.
                            PHP-Code:
                            // @wasaga Version
                            <html>
                            <
                            head>
                            <
                            script language="javascript">
                            <!--
                            var 
                            btn1Pressed false;

                            function 
                            chkForm(Elem) {
                                
                                if (
                            btn1Pressed// btn1 pressed
                                
                            {
                                     if (
                            Elem.field1.value == "")  {
                                           
                            alert("Bla bla 1 ");
                                        
                            btn1Pressed false// reset flag
                                           
                            return false;
                                      }
                                     if (
                            Elem.field2.value == "") {
                                           
                            alert("Bla bla 2 ");
                                        
                            btn1Pressed false// reset flag
                                           
                            return false;
                                      }
                                }
                                else { 
                            // btn2 pressed
                                    
                            if (Elem.field3.value == "") {
                                           
                            alert("Bla bla 3");
                                           return 
                            false;
                                      }
                                    if (
                            Elem.field4.value == "") {
                                           
                            alert("Bla bla 4");
                                           return 
                            false;
                                      }
                                }
                                return 
                            true;
                            }
                            // -->
                            </script>
                            </
                            head>
                            <
                            body>
                            <
                            form name="formname" action="nextpage.php" method="post" onsubmit="return chkForm(this);">
                                <
                            table border="0" width="100%" cellspacing="0" cellpadding="2">
                                    <
                            tr>
                                        <
                            td width="20%" style="text-align:right">Field 1</td>
                                        <
                            td width="20%"><input type="text" name="field1" value=""></td>
                                        <
                            td width="20%" style="text-align:right">Field 2</td>
                                        <
                            td width="20%"><input type="text" name="field2" value=""></td>
                                        <
                            td width="20%">
                                        <
                            input name="btn1" type="submit" value="send Field 1 & 2" onclick="btn1Pressed=true;">
                                        </
                            td>
                                    </
                            tr>
                                    <
                            tr>
                                        <
                            td width="20%" style="text-align:right"><br>Field 3</td>
                                        <
                            td width="20%"><input type="text" name="field3" value=""></td>
                                        <
                            td width="20%" style="text-align:right">Field 4</td>
                                        <
                            td width="20%"><input type="text" name="field4" value=""></td>
                                        <
                            td width="20%">
                                        <
                            input name="btn2" type="submit" value="send Field 3 & 4">
                                        </
                            td>
                                    </
                            tr>
                                </
                            table>            
                            </
                            form>
                            </
                            body>
                            </
                            html
                            achte auf die Kommentare und die Überprüfung von Booleanvariable
                            normalerweise braucht man nur einen einzigen form-Tag
                            Zuletzt geändert von asp2php; 01.04.2004, 08:30.

                            Kommentar


                            • #44
                              Seit doch nicht so unfreundlich zu mir, denn ganz so falsch lag ich mit meinem Lösungsansatz ja nun auch nicht.

                              Danke asp2php, Du hast mir den letzten Hinweis für meine Lösung gegeben. Jetzt funktioniert es prima.

                              Danke an alle, die mir geholfen haben.

                              Kommentar


                              • #45
                                wieso unfreundlich Smile hab ich doch beigepackt, wenn
                                ich unfreundlich wäre, hättest du ausser Beschimpfungen nichts
                                bekommen

                                Kommentar

                                Lädt...
                                X