tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
391
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    eee eee ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    20
    Ich erstelle einige Buttons mittels PHP Schleife und habe zu jedem Button einen kleinen Ausgabetext, den ich aus einer Datenbank auslese! Nun möchte ich, wenn ich auf einen Button klicke den passenden Ausgabetext erhalten. Weiß irgendjemand wie ich mein PHP Array in die JS Funktion übergebe? Vielen Dank!

    PHP-Code:
    echo '<form name="formular" action="">';
        
    $n 1;
        
    $text = array();
        while (
    $ausgabe $ergebnis->fetch_assco()) {
            echo 
    '<input type="button" value="' .  $ausgabe['buttonvalue'] . '" id ="' $n '" onclick="ausgabe(this)">';
            
    $text[$n] = $ausgabe['text'];
            
    $n $n 1;
        }
    echo 
    '</form>'
    PHP-Code:
    <script type="text/javascript">
            function 
    ausgabe(ref) {
                
    alert('?');
            }
    </script> 
    Geändert von eee (13.01.12 um 19:43 Uhr)
     

  2. #2
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    Du kannst Javascript-Code auch mit PHP ausgeben. Dafür solltest du aber in deinem Beispiel den HTML-Quelltext nicht direkt mit echo rausfeuern, sondern erst in einer Variable speichern, damit du später den JS-Teil im Head-Bereich des Dokuments stehen hast und nicht mitten im Formular.

    Sinngemäß & ungetestet:

    PHP-Code:

    $form 
    '<form name="formular" action="">';

    $js '
    <script type="text/javascript">
    var formarray = new Array()'
    ;

    $n 1;

    while (
    $ausgabe $ergebnis->fetch_assoc()) { //hier hattest du nen Tippfehler drin
            
    $form .= '<input type="button" value="' .  $ausgabe['buttonvalue'] . '" id ="' $n '" onclick="ausgabe(this)">';

            
    $js .= 'formarray['.$n.'] = "'.$ausgabe['text'].'";';

            
    $n++; //ist kürzer
    }

    $form .=  '</form>'

    $js .= '</script>';


    //und jetz raus damit

    echo '
    <!DOCTYPE html>
      <head>
        <title>Jawoll</title>'
    .$js.'
      </head>
      <body>'
    .$form.'</body>
    </html>'


    Noch ein Hinweis:
    PHP-Code:
    echo '<input type="button" value="' .  $ausgabe['buttonvalue'] . '" id ="' $n '" onclick="ausgabe(this)">'
    Du legst für die ElementIDs einen numerischen Wert fest. Das erste zeichen muss hier aber ein Buchstabe sein.
     
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

  3. #3
    eee eee ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    20
    Zitat Zitat von para_noid Beitrag anzeigen
    Du kannst Javascript-Code auch mit PHP ausgeben. Dafür solltest du aber in deinem Beispiel den HTML-Quelltext nicht direkt mit echo rausfeuern, sondern erst in einer Variable speichern, damit du später den JS-Teil im Head-Bereich des Dokuments stehen hast und nicht mitten im Formular.
    Danke für die Hilfe. An die Möglichkeit den JS Code direkt in der Schleife zu erstellen, habe ich überhaupt nicht gedacht. Hat es Nachteile, wenn die JS Funktion nicht im Head-Bereich steht? Meinen HTML Header rufe ich nämlich per Funktion aus einer Funktionsbibliothek auf:

    PHP-Code:
    require_once('funktionsbib.php');
    html_header('Titel eingeben'); 
    In meiner JS Datei, mit "<script src="javascript.js" type="text/javascript" charset="utf-8"></script>" im Head-Bereich eingebunden, habe ich bisher nur ein paar kleine Funktionen zum Aus- bzw. Einblenden von Formularelementen.
     

  4. #4
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    Hat es Nachteile, wenn die JS Funktion nicht im Head-Bereich steht?
    Hab eben nochmal nachgesehen. JS im Head ist vielleicht Usus, aber nicht Gebot, es sollte also per se keine Probleme geben, wenn es woanders steht.
     
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 16.02.10, 21:39
  2. Antworten: 3
    Letzter Beitrag: 11.02.09, 12:31
  3. Buchstaben oder enum als Arrray-Index
    Von Mnyut im Forum Java Grundlagen
    Antworten: 7
    Letzter Beitrag: 21.11.08, 18:25
  4. Antworten: 3
    Letzter Beitrag: 14.08.07, 10:05
  5. String[] aus C# an Javascript Funktion übergeben
    Von WeiblGe im Forum .NET Web und Kommunikation
    Antworten: 1
    Letzter Beitrag: 16.11.05, 12:32