mit PHP erstelltes Dropdwon wir in document.write nicht angezeigt

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

  • mit PHP erstelltes Dropdwon wir in document.write nicht angezeigt

    Hallo,

    ich habe ein kleines Problem an dem ich nicht mehr weiter kommen.
    Der folgende Code erzeugt den Fehler ")" erwartet:

    PHP-Code:
    <!--<script language="javascript"><!--

    document.write('<?php echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" .
    tep_draw_pull_down_menu('id[' $products_options_name
    ['products_options_id'] . ']'$products_options_array_java
    $selected_attribute'onChange="addUrl(this.form.elements[\'id[' $products_options_name['products_options_id'] . ']' '\'].options
    [this.form.elements[\'id[' 
    $products_options_name
    ['products_options_id'] . ']' '\'].options.selectedIndex].value, 
    [\'productNEWprice\'], \'cart_quantity\');"'
    ); ?>');
    </script>//-->
    der gleiche Code in <noscript> funktioniert ohne Fehler!?
    Was mache ich falsch, bin über jeden Tipp dankbar!

  • #2
    Re: mit PHP erstelltes Dropdwon wir in document.write nicht angezeigt

    <!--<script language="javascript"><!--
    </script>//-->

    ganz richtig sieht das nicht aus
    Gruß
    Uzu

    private Homepage

    Kommentar


    • #3
      javascript deaktivert?

      wie sieht der erzeugte quellcode aus? mal firebug installiert oder die fehlerkonsole vom firefox benutzt?

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

      Kommentar


      • #4
        Hallo UzumakiNaruto,

        das ist schon ok, hatte vergessen, es zu entfernen da ich den teil testweise auskommentiert haben.

        So sieht die HTML Ausgabe aus:

        PHP-Code:
         <script language="javascript"><!--
        document.write('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select name="id
        [6]" onChange="addUrl(this.form.elements['
        id[6]'].options
        [this.form.elements['
        id[6]'].options.selectedIndex].value, 
        ['
        productNEWprice'], 'cart_quantity');"><option value="14">TEST1</option><option value="15">TEST2</option></select>');
        //-->
        </script
        Firebug habe ich installiert nur leider zeigt er mir auch nie die Meldung ")" erwartet. ich hoffe, es hilft weiter...

        Kommentar


        • #5
          also bei mir zeigt er eine meldung. pack mal das ergebnis in eine(!) zeile und schau, was dein editor dazu sagt. ich denke da an stellen wie
          PHP-Code:
          ['id[6]'
          denn da wird die zeichenkette für document.write beendet. also escape mal fleißig, dann klappt es auch.

          btw: warum gibts du das nicht einfach per echo aus?

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

          Kommentar


          • #6
            Hallo Kropff,

            ich habe eine Anzeige für aktiviertes Javascript und eines für nicht Javascript. Wenn ich das nur per Echo anzeige, dann wird auch nichts angezeigt. Wohl aber genau die selbe Ausgabe im Noscript bereich, da funktioniert alles. Es ist eine 1:1 kopie der beiden Funktionen, nur für den Test...

            Hast du vielleicht noch einen TIP`?

            Kommentar


            • #7
              habe ich dir doch schon gesagt. bei konstrukten wie
              PHP-Code:
              onChange="addUrl(this.form.elements['id[6]'] 
              schneidet javascript(!) den string am ersten hochkomma ab und die sache wird beendet (document.write)! darum wird auch nichts angezeigt.

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

              Kommentar


              • #8
                ja, das hatte schon verstanden, denke ich...
                ich weiß nur langsam nicht mehr, wie ich das Escapen soll... wenn ich vor jedes Hochkomma einen Escape setze, funktioniert das ja auch nicht mehr?
                Kannst du mir vielleicht mal an folgendem Beispiel zeigen, wie ich das korrekt Escapen kann, bitte:

                PHP-Code:
                onChange="addUrl(this.form.elements[\'id[' . $products_options_name['products_options_id'] . ']' . '\'] 
                Leider werden meine \ nicht angezeigt

                Vielen Dank, für deine Hilfe!
                Zuletzt geändert von SLSB02; 10.07.2008, 14:37.

                Kommentar


                • #9
                  sch***ße, das forum frisst die backslashes!

                  hat es denn geklappt?

                  peter
                  Zuletzt geändert von Kropff; 10.07.2008, 14:43.
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    nein, hat es nicht, weil ich heute schon den ganzen Tag versuche zu Escapen aber es will alles nicht klappen...

                    Ich benutze jetzt einfach mal Slashes, dann wird er auch angezeigt, bin mit meinem latain irgendwie am Ende!?

                    PHP-Code:
                    onChange="addUrl(this.form.elements[/'id[' . $products_options_name['products_options_id'] . ']' . '/'] 

                    Kommentar


                    • #11
                      der erzeugte (!) javascript-code müsste so aussehen (backslash auch durch slash ersetzt):
                      PHP-Code:
                      document.write('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select name="id
                      [6]" onChange="addUrl(this.form.elements[/'
                      id[6]/'].options
                      // usw. 
                      das musst du jetzt auf deinen php-code übertragen. und wie ich schon sagte, viel spaß beim escapen.

                      und ganz ehrlich gesagt verstehe ich überhaupt nicht, was das soll? ob du nun das mit php und echo ausgibst oder mit javascript/php und document.write ist doch jacke wie hose.

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

                      Kommentar


                      • #12
                        mein Problem ist, dass ich weiß was ich machen soll, ich aber nicht weiß, wie ich es machen soll... Wie muss ich denn an dieser Stelle Escapen ein einfacher Backslash reicht ja nicht, da dann mein php Variable nur noch als Text angezeigt wird und nicht deren Inhalt. Nur einen kleinen Tipp, dann sollte das laufen

                        PHP-Code:
                        [/'id[' $products_options_name['products_options_id'] . ']' '/'

                        Kommentar


                        • #13
                          vielleicht hilft dir das hier weiter (punkt 4).

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

                          Kommentar


                          • #14
                            Hallo und vielen Dank, für den Link aber es bringt mich auch nicht weiter, leider. Entweder habe ich Tomaten auf den Augen oder ich sollte Java Script einfach lassen... Wenn ich zu viele Hochkommas entfernen funktioniert es auch nicht mehr... Ich habe keine Lösung. Trotzdem, vielen dank für deine Hilfe...

                            Kommentar


                            • #15
                              und ich begreife nicht, warum man erst mit php clientseitigen code erzeugt und dann per javascript und document.write noch mal zusätzlich ausgeben soll. das ist doch überflüssig wie ein kropf.

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

                              Kommentar

                              Lädt...
                              X