bei onclick php variable an js Funktion übergeben

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

  • bei onclick php variable an js Funktion übergeben

    Heyho liebes Forum,
    soweit ich bei Google gesehn habe, hatten schon viele dieses Problem, allerdings hat mir keine der angebotenen Lösungen geholfen.

    Hier mein Problem :

    PHP-Code:
    function edit_text(text){
     document.getElementById('show_text').innerHTML = '<textarea class="show_text">'+text+'</textarea>';
      }

    <div id="show_text">
        <div class="show_text" onClick="edit_text('<?echo $text_edit;?>');"><?echo $text;?></div>
    </div>
    $text_edit wird weiter oben mit htmlspecialchars($row->text) definiert, falls das wichtig ist.

    Wenn ich bei der Funktion zB edit_text('test'); eingeben, klappt es. Mit php klappt es leider nicht.

    Wäre dankbar für Hilfe
    Zuletzt geändert von Spunk95; 03.01.2011, 21:58.

  • #2
    "klappt nicht" ist keine Fehlerbeschreibung.

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      "klappt nicht" ist keine Fehlerbeschreibung.
      Aber wie beschreibt es man sonst wenn nichts passiert bei onclick? ^^

      Kommentar


      • #4
        Du könntest zB. den HTML-Code zeigen, der von PHP ausgegeben wird. Du könntest eventuelle Fehlermeldungen aus der JavaScript-Konsole zeigen. Du könntest deine Seite mit dem W3C-Validator auf HTML-Fehler testen.

        Kommentar


        • #5
          Ist short_open_tags bei dir aktiviert? Wenn nicht, schreib PHP-Blöcke als gültige PIs (<?php ... ?>). Wenn doch, such den Schuldigen und erklär ihm, dass die 90er vorbei sind
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Danke für den Tipp mit der Konsole h3ll, wusste gar nicht, dass mein Browser das kann. Ist sehr praktisch

            Zitat von AmicaNoctis Beitrag anzeigen
            Ist short_open_tags bei dir aktiviert? Wenn nicht, schreib PHP-Blöcke als gültige PIs (<?php ... ?>). Wenn doch, such den Schuldigen und erklär ihm, dass die 90er vorbei sind
            Es klappt jetzt zwar, allerdings gibt die Konsole diesen Fehler aus:

            Code:
            TypeError: Result of expression 'document.getElementById(div)' [null] is not an object.
            Danke schonmal für die Hilfe

            Kommentar


            • #7
              Also wenn schon, dann
              PHP-Code:
              document.getElementById('div'
              Sieht aber eher nach einem
              PHP-Code:
              document.getElementsByTagName('div'
              aus. Allerdings kann ich da ohne den relevanten Code nur raten.

              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Danke für die schnelle Antwort, hab jetzt erst begriffen, dass es sich nicht um eine allgemeine Fehlerbeschreibung handelt und deshalb ohne '' ist, sondern dass es sich auf diesen Code bezieht:

                Code:
                function show(div,val) { 
                		document.getElementById(div).style.visibility = val; 
                	}

                Kommentar


                • #9
                  Offenbar gibts das Element nicht, das den Namen hat, der in der Variable div steht.

                  Kommentar


                  • #10
                    Zitat von h3ll Beitrag anzeigen
                    Offenbar gibts das Element nicht, das den Namen hat, der in der Variable div steht.
                    Aufgerufen wird die Funktion durch
                    Code:
                    onMouseOver="show('clicktoedit','visible');" onMouseOut="show('clicktoedit','hidden');"
                    und das Element clicktoedit existiert... Oder meinst du etwas anderes?

                    Kommentar


                    • #11
                      JavaScript sagt, dass es das nicht gibt. Und ich glaub nicht, dass JavaScript lügt. Also solltest du das überprüfen (Debug-Ausgaben).
                      Zuletzt geändert von h3ll; 04.01.2011, 23:48.

                      Kommentar


                      • #12
                        Zitat von h3ll Beitrag anzeigen
                        JavaScript, dass es das nicht gibt. Und ich glaub nicht, dass JavaScript lügt. Also solltest du das überprüfen (Debug-Ausgaben).
                        Du drückst dich irgendwie immer ein bisschen unklar aus. Was ist Javascript, dass es nicht gibt? ^^
                        Ich glaub auch nicht, dass Javascript mich anlügt
                        Zuletzt geändert von Spunk95; 04.01.2011, 23:42.

                        Kommentar


                        • #13
                          Sorry, da wurde irgendwie ein Wort verschluckt.

                          Kommentar


                          • #14
                            Zitat von h3ll Beitrag anzeigen
                            Sorry, da wurde irgendwie ein Wort verschluckt.

                            Okay, dann hab ichs jetzt verstanden ^^ Hab nachgeschaut im Quelltext, da ist clicktoedit eindeutig vorhanden, insgesamt 3 mal (onmouseover,onmouseout,id). Versteh nicht, was Javascript daran auszusetzen hat. Und es klappt nur solange man keine Zeilenumbrüche im Anfangstext hat oO
                            Zuletzt geändert von Spunk95; 08.01.2011, 23:24.

                            Kommentar

                            Lädt...
                            X