mit PHP erstelltes Dropdwon wir in document.write nicht angezeigt

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

  • 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

    Comment


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

      Comment


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

        Comment


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

          Comment


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

            Comment


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

              Comment


              • #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!
                Last edited by SLSB02; 10-07-2008, 13:37.

                Comment


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

                  hat es denn geklappt?

                  peter
                  Last edited by Kropff; 10-07-2008, 13:43.
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Comment


                  • #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'] . ']' . '/'] 

                    Comment


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

                      Comment


                      • #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'] . ']' '/'

                        Comment


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

                          Comment


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

                            Comment


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

                              Comment

                              Working...
                              X