schaich: javascript in php

Hey,

ich habe folgendes Problem:
Auf meiner Seite wird bei einem onclick-Event eine Javascriptfunktion aufgerufen aber diese onclick-Event wird in einem Formular aufgerufen, dessen Informationen an einen php-script ($_SERVER['PHP_SELF']) geschickt werden.
Die Javascruot Methode wird zwar durchlaufen doch durch den wenn der php-script seine aufgabe erledigt hat wird die Seite neugeladen und der vom Javascript erarbeitete Effekt wird wieder rückgängig gemacht.
Wie kann ich das verhindern?

Aufrufender Teil aus HTML:

  
 echo "<input type=\"image\" src=\"\" name=\"Fredo\" alt=\"FredoBild\" onclick=\"nextRound()\">";          

Javascript:

  
var round = 1;  
  
 document.getElementsByTagName("input")[0].src = "Bilder/Julian/" + round + '.jpg';  
 document.getElementsByTagName("input")[1].src  = "Bilder/Fredo/" + round + '.jpg';  
  
  function start(){  
  
    document.getElementById("overlay").style.display = "block";  
    document.getElementById("container").style.display = "block";  
  
  }  
  
  
 function nextRound(){  
  
   alert(round);  
   round++;  
   document.getElementsByTagName("input")[0].src = "Bilder/Julian/" + round + '.jpg';  
   document.getElementsByTagName("input")[1].src = "Bilder/Fredo/" + round + '.jpg';  
  
 }  
  

PHP:~~~php

if(!empty($_POST['name1_x'])){
     $datei = fopen("name1.txt", "r+");
     $punktestand = fgets($datei, 5);
     $punktestand++;
     rewind($datei);
     fwrite($datei, $punktestand);
     fclose($datei);
    }else if(!empty($_POST['name2_x'])){
    $datei = fopen("name2.txt", "r+");
     $punktestand = fgets($datei, 5);
     $punktestand++;
     rewind($datei);
     fwrite($datei, $punktestand);
     fclose($datei);
    }

  
  
MfG schaich  
  
  

  1. PHP:~~~php

    if(!empty($_POST['name1_x'])){
         $datei = fopen("name1.txt", "r+");

    }else if(!empty($_POST['name2_x'])){
        $datei = fopen("name2.txt", "r+");

      
    Es muss natürlich so sein:  
    PHP:~~~php
      
      
         if(!empty($_POST['Fredo_x'])){  
         $datei = fopen("PunkteFredo.txt", "r+");  
      
        }else if(!empty($_POST['Julian_x'])){  
        $datei = fopen("PunkteJulian.txt", "r+");  
    
    
  2. Hi Schaich,

    was ist deine Absicht?

    Willst beim drücken von Submit eine Javascript Funktion ausführen und ein Php Script aufrufen lassen?

    Gruß
    Steffen

    1. Willst beim drücken von Submit eine Javascript Funktion ausführen und ein Php Script aufrufen lassen?

      Ja das war die Absicht aber ich ab das schon anders gelöst.
      Danke trotzdem.

  3. Hi,

    Auf meiner Seite wird bei einem onclick-Event eine Javascriptfunktion aufgerufen aber diese onclick-Event wird in einem Formular aufgerufen, dessen Informationen an einen php-script ($_SERVER['PHP_SELF']) geschickt werden.
    Die Javascruot Methode wird zwar durchlaufen doch durch den wenn der php-script seine aufgabe erledigt hat wird die Seite neugeladen und der vom Javascript erarbeitete Effekt wird wieder rückgängig gemacht.
    Wie kann ich das verhindern?

    Du koenntest das Formular nicht wirklich absenden, sondern AJAX nutzen, um die Daten an den Server zu uebertragen.

    Oder du laesst das PHP-Script mit dem HTTP Header 204 No Content antworten - dann hast du aber clienseitig zunaechst mal keinerlei Kontrolle darueber, ob es ueberhaupt ausgefuehrt wurde, welche Fehler ggf. auftraten, etc.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Du koenntest das Formular nicht wirklich absenden, sondern AJAX nutzen, um die Daten an den Server zu uebertragen.

      Hab mich an AJAX versucht, aber irgendiwe hat das nich so hingehauen wie ich mir das gedacht hatte.
      Hab das jetzt anders geschafft.
      Danke

      MfG schaich