button onclick

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

  • button onclick

    PHP-Code:
    echo "<td><input name='aendern' onclick='checkdata();' type='button' value='&auml;ndern'></td>"
    ist mein button, mit dem ich eingabefelder überprüfen möchte. so weit ich das beurteilen kann, läuft die überprüfung auch durch, doch je nach dem, wie die überprüfung ausfällt, will ich die seite neu laden.

    PHP-Code:
    if($erg) echo "<input type'submit' value='okay'>"
    und so funktioniert das nicht. ich habe die seite bis jetzt immer mit submit-buttons neu geladen, jetzt such ich ne andere lösung.

  • #2
    button onclick

    PHP-Code:
    echo "<td><input name='aendern' onclick='checkdata();' type='button' value='&auml;ndern'></td>"
    ist mein button, mit dem ich eingabefelder überprüfen möchte. so weit ich das beurteilen kann, läuft die überprüfung auch durch, doch je nach dem, wie die überprüfung ausfällt, will ich die seite neu laden.

    PHP-Code:
    if($erg) echo "<input type'submit' value='okay'>"
    und so funktioniert das nicht. ich habe die seite bis jetzt immer mit submit-buttons neu geladen, jetzt such ich ne andere lösung.

    Kommentar


    • #3
      @ admin
      könntet ihr eins der beiden postings löschen? war ein versehen mit diesem tollen iexplorer. wie liebnswert der doch ist. Danke.

      Kommentar


      • #4
        onclick='checkdata();'
        Das heißt du nutzt JS zur Überprüfung der Daten, stimmts?

        JS ist Clientseitig und PHP Serverseitig, wenn JS also einen Fehler findet, kannst du diesen mit PHP auf der bereits geladenen Seite nicht auswerten,
        da PHP ja Serverseitig ist.

        Kommentar


        • #5
          Du könntest allerdings mit der JS-Funktion den Wert eines hidden-Felds ändern und diesen dann serverseitig auswerten.

          Kommentar


          • #6
            nein, das ganze ist ne php funktion. jetzt geht nicht auf mich los, wenn das nicht geht, aber das mit JS und php hab ich schon gelesen. deswegen wollte ich gleich auf dem server bleiben und je nachdem was er eingegeben hat, die seite anders aufbauen.

            Kommentar


            • #7
              onclick='checkdata();'
              Diese Funktion wird aber erst ausgeführt, wenn der User auf den Submit Button drückt, und da schläft PHP ja dann wieder (wie bereits oben schon erwähnt).

              Also lass das
              onclick='checkdata();'
              weg und schicke die Formulardaten an die gleiche Seite, überprüfe sie mit PHP (ist zwar mehr arbeit für den Server, funktioniert aber immer, da man PHP nicht abstellen kann im Gegensatz zu JS) und leite dann weiter.

              Kommentar


              • #8
                ich hatte nebenbei schon angefangen das ganze beim neu schicken abzufragen. läuft soweit halbwegs, nur ist es verdammt viel mehr tipperei.

                naja, ne andere frage. ich überprüfe die daten des nutzers und wenn er was verändert hat und die überprüfung einen fehler ergibt, kriegt er seine eingaben nochmal und gesagt wo der fehler liegt. das kann sich ja bei einigen usern über stunden ziehen. da der benutzer ebenfalls das feld mit dem primarykey ändern kann, muss ich mir den zwischenspeichern, bis er wirklich was ändert. damit ich dann ja weiß, welcher ursprüngliche datensatz geändert werden muss (den angegeben key kann er ja schon längst verändert haben) speichere ich den beim erstaufruf ab und will ihn mir dann wenn endlich alles hinhaut wieder holen. der key ist allerdings leer. die seite wurde mehrmals abgeschickt und die variable ist global.

                Kommentar


                • #9
                  Der User kann also einen bereits erstellten Datensatz ändern?

                  Wenn ja, dann schicke die ID des Datensatzes als hidden-field mit, somit bleibt die ID immer gleich und du kannst die Daten in der DB updaten.

                  EDIT:

                  Wenn du Sessions verwendest, kannst du die ID auch in der Session speichern, ist aber gehüpft wie gesprungen !

                  Kommentar


                  • #10
                    PHP-Code:

                    //Hier dein Eingabe feld was überprüft werden soll...
                    <input type="text" name="text_feld" 
                    value="text" 
                    onClick="check(this,
                    document.form_name.dein_submit_button)>

                    // Hier die check Funktion
                    <script language="
                    JavaScript"> 
                            <!-- 
                            function check(text_feld, dein_submit_button) {
                              if(text_feld.value=="
                    irgendwas"){
                                dein_submit_button.value = "
                    irgendwas";
                              } 
                            //--> 
                    </script>'; 
                    Vielleicht nicht ganz korrekt aber in die Richtung müsste es funktionieren.
                    Kannst auch mal mit dein_submit_button.disabled=true/false spielen wenn das gebraucht wird...

                    Kommentar


                    • #11
                      jo, er kann datensätze ändern die schon erstellt sind.

                      das problem ist, ich verändere das aussehen der seite jedes mal und das hidden-field verschwindet doch, beim neu aufbau,oder?!?!
                      also müsste ich jedesmal das hidden-field neu erzeugen und den wert vom vorhergehenden formular übernehmen?!?

                      Kommentar


                      • #12
                        @ueps
                        und je nachdem, was die function check ergibt, setze ich den value des buttons und den werte ich dann mit php aus und davon abhängig rufe ich die unterschiedlichen php-funktionen auf. so hattest du dir das doch gedacht?!?
                        ich habe die checkfunktion einfach als ertes beim php script drin und lasse dann in abhängigkeit verschiedene funktionen aufrufen. sieht jetzt natürlich ziemlich scheiße aus der quelltext, da ich es nicht als function machen kann, sondern in den "main" teil mit reinschreiben musste.
                        aber trotzdem vielen dank, ich speichere mir das ganze, denn für das nächste mal und die bessere übersicht, sehr viel angenehmer.

                        Kommentar


                        • #13
                          Aber du benutzt doch immer das gleiche Formular zur eingabe, oder nicht?
                          Also ist es doch kein Problem ein hidden-field einzubauen!

                          PHP-Code:
                           if(isset($_POST['id'])) echo "<input type=\"hidden\" name=\"id\" value=\"$_POST['id']\">' 
                          EDIT:

                          Klar macht die Überprüfung der Formulardaten in PHP Extraarbeit, ich empfehle Dir das aber vor allem bei wichtigen Daten (z.B.: Daten die in eine SQL-Abfrage eingebaut werden, Stichwort: SQL-Injection) da man JS, wie bereits erwähnt, abstellen kann und deine Daten somit ungeprüft weiter verarbeitet werden.
                          Wenn du den Code nicht in deiner Main.php haben willst dann includiere ihn oder schreibe dir eine ueberpruefen.php in der du die Daten überprüfst und dann weiterleitest.
                          Zuletzt geändert von ExInfernis; 24.08.2005, 13:04.

                          Kommentar


                          • #14
                            ähhhhhmmm nein.

                            ich erstelle immer komplett neue formulare. ich müsste es mir dann wohl immer als parameter mitübergeben zum neuaufruf, oder?

                            Kommentar


                            • #15
                              Zeig mal deinen Code der die Formulare erzeugt!

                              Kommentar

                              Lädt...
                              X