Method Get ohne Seitenreload?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Tag Leute,

    ich stehe noch ganz am Anfang von der Programmierung in PHP.

    Mein Problem ist, dass ich auf meinem Pi einen Webserver laufen habe. Dort habe ich eine Hauptseite und wechsel in einem Content Table verschiedene PHP Dateien durch(per javascript).

    Auf nahezu allen Templates sind Buttons mit Method Get.
    Mein Problem ist, dass ich jedes mal wieder, wenn ich einen Button anklicke, auf die Hauptseite zurück geworfen werde(weil die Seite neu geladen wird), was aber hier nicht sinnvoll ist.

    Die Befehle werden aber ganz normal beim Betätigen des Buttons ausgeführt.

    Code sieht so aus:


    Kann man das irgendwie "abschalten" ?

    Gruß

    Einmal editiert, zuletzt von lengi (27. Juni 2014 um 18:51)

  • Habs hinbekommen, jedoch nur für einen Button.

    Hab mal ein wenig im MDN gestöbert und mir nen paar Sachen zusammen kopiert.

    Dabei ist jetzt folgendes rumgekommen:

    Mein Problem ist jetzt nur noch, dies für mehrere Buttons umzusetzen. Die Beispiele im MDN sind leider immer nur für ein Button, weswegen sich die Beispiele auf mein Problem nicht allgemein anwenden lassen und in Javascript bin ich noch schlechter als in PHP :D

    Meine Buttons sehen ja folgendermaßen aus:

    Code
    <input type="submit" name="btn_play" value="PLAY"></p>

    Wie binde ich den Namen(hier btn_play) in die funktion mit ein, so dass ich zwischen den einzelnen Buttons unterscheiden kann?

  • Zitat von lengi
    Code
    <form method="get" action="">


    Bei action sollte ein Ziel vorhanden sein.

  • Zitat

    so dass ich zwischen den einzelnen Buttons unterscheiden kann?


    Du könntest jeden Button mit einem eigenen OnClick() Ereignishandler versehen.

    Zitat

    Bei action sollte ein Ziel vorhanden sein.


    Das sieht aus wie HTML5.
    Dann stimmts, leer lassen gilt nicht, also weg mit dem ganzen Attribut, oder ein Ziel eintragen.
    Ist es aber eine andere (X)HTML Variante, dann darf das action Attribut leer bleiben. Muss aber vorhanden sein.

    Von dem HTML Versions Wirrwarr mal abgesehen, wird der Wert der Attributes sowieso nicht genutzt, also ist es recht egal, was da drin steht.
    Von mir aus auch nix. Und die Browser machen das sowieso richtig.

    spruch.png

    Einmal editiert, zuletzt von combie (28. Juni 2014 um 22:25)

  • Easy:

    Code
    <input type="button" name="btn_play" value="PLAY" onclick="Send(this)">

    Und das Send dazu:

    Code
    function Send( element ) {
               var request = new XMLHttpRequest() ;
               request.open( "GET", "senden.php?btn="+element.name, true ) ;
               request.send( null ) ;
    
    
               return false ;
    }

    return false braucht es in diesem Fall wohl gar nicht.

    Der Name des Buttons ist in $_GET["btn"] zu finden.


  • Du könntest jeden Button mit einem eigenen OnClick() Ereignishandler versehen.

    So in etwa?

    Edit: @ Tell: magst du dir das auch mal anschauen, hatte diesen Post schon erstellt, bevor ich deinen gesehen habe, aber irgendwas haut hier nicht hin...
    Aber das mit dem übergeben des Namens ist auf jeden Fall ne gute Idee, das werd' ich so übernehmen.

    Kannst du mir sagen, wo ich da einen Fehler gemacht habe? Irgendwie funktioniert das nicht und ich sehe da auf Anhieb eigentlich keinen Fehler


    Edit: Funktioniert jetzt!
    Danke Jungs!!

    Einmal editiert, zuletzt von lengi (29. Juni 2014 um 09:06)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!