bei onclick php variable an js Funktion übergeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by Spunk95; 03-01-2011, 20:58.

  • #2
    "klappt nicht" ist keine Fehlerbeschreibung.

    Comment


    • #3
      Originally posted by h3ll View Post
      "klappt nicht" ist keine Fehlerbeschreibung.
      Aber wie beschreibt es man sonst wenn nichts passiert bei onclick? ^^

      Comment


      • #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.

        Comment


        • #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]

          Comment


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

            Originally posted by AmicaNoctis View Post
            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

            Comment


            • #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

              Comment


              • #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; 
                	}

                Comment


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

                  Comment


                  • #10
                    Originally posted by h3ll View Post
                    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?

                    Comment


                    • #11
                      JavaScript sagt, dass es das nicht gibt. Und ich glaub nicht, dass JavaScript lügt. Also solltest du das überprüfen (Debug-Ausgaben).
                      Last edited by h3ll; 04-01-2011, 22:48.

                      Comment


                      • #12
                        Originally posted by h3ll View Post
                        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
                        Last edited by Spunk95; 04-01-2011, 22:42.

                        Comment


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

                          Comment


                          • #14
                            Originally posted by h3ll View Post
                            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
                            Last edited by Spunk95; 08-01-2011, 22:24.

                            Comment

                            Working...
                            X