[JS] Select-Option ansprechen und value rausholen

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

  • [JS] Select-Option ansprechen und value rausholen

    Hallo,
    ich weiß nicht woran das liegt, aber im IE wird mir ständig gesagt: Objekt erwartet.
    Könnt ihr dort irgendwo ein Fehler finden?
    Code:
    <script language="text/javascript">
    <!--
    	function preview() {
    		var options = document.getElementsByName('template').length;
    		for (var i = 0; i <= options; i++) {
    			if (document.getElementsByName('template')[0].options[i].selected)
    				var tpl_id = document.getElementsByName('template')[0].options[i].value;
    		}
    		blank.location.href = 'preview.php?id=' + tpl_id;
    	}
    //-->
    </script>
    <select name="template">
    	<option label="dfdfd" value="1">dfdfd</option>
    	<option label="dfssdf" value="2">dfssdf</option>
    </select> <input type="button" onClick="preview();" value="Vorschau" />
    Danke im voraus.
    MfG,
    WasserDragoon.

  • #2
    Re: [JS] Select-Option ansprechen und value rausholen

    var options = document.getElementsByName('template')[0].options.length;

    Kommentar


    • #3
      Re: Re: [JS] Select-Option ansprechen und value rausholen

      Und die for-Schleife zum Durchlaufen aller Options kann auch entfallen - selectedIndex existiert.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Danke für die Antworten.
        Was ich nicht ganz verstanden habe is das mit der for-schleife, dass ich die weglassen kann.
        Wie muss dann das ansprechen der selektierten Option heißen?
        dann kann ich ja schlecht options[i] machen, da es i garnicht mehr gibt.
        oder muss dort dann auch [0] stehen?
        mfg

        Kommentar


        • #5
          Was du offenbar nicht ganz verstanden hast ist, dass wenn ich dir ein Stichwort nenne, ich es dann auch als deine Aufgabe ansehe, dieses nachzuschlagen ...!
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Code:
            Object.options[ Object.selectedIndex ].value

            Kommentar


            • #7
              Ok, danke nun habe ich folgendes
              Code:
              <script type="text/javascript">
              function vkp_preview() {
              	var sender = document.vkp_create.sender.value;
              	var receiver = document.vkp_create.receiver.value;
              	var msg = document.vkp_create.msg.value;
              	var index = document.getElementsByName('template')[0].selectedIndex;
              	var tpl_id = document.getElementsByName('template')[0].options[index].value;
              	window.open('index.php?site=preview&id=' + tpl_id + '&sender=' + sender + '&receiver=' + receiver + '&msg=' + msg);
              }
              </script>
              gibt es denn sowas wie ne str_replace funktion für javascript?
              ich möchte nun gerne alle zeilenumbrüche (von der textarea namens msg) durch %0A ersetzen, da dies über URL weitergegeben wird.
              mfg

              EDIT: gänge es denn so?
              Code:
              msg.split("\r\n").join("%0A");
              EDIT2:
              ok trotzdem danke habs rausgefunden
              und zwar mit
              Code:
              var msg = document.vkp_create.msg.value;
              var message = msg.replace(/\r?\n/, "%0A");
              Zuletzt geändert von WasserDragoon; 22.06.2006, 21:59.

              Kommentar


              • #8
                Original geschrieben von WasserDragoon
                gibt es denn sowas wie ne str_replace funktion für javascript?
                ich möchte nun gerne alle zeilenumbrüche (von der textarea namens msg) durch %0A ersetzen, da dies über URL weitergegeben wird.
                Und wieso nimmst du an, dafür wäre es ausreichend, nur Zeilenumbrüche zu ersetzen?

                Du möchtest encodeURIComponent() oder escape() benutzen.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  also reicht es aus, wenn ich folgendes mach?
                  Code:
                  var msg = escape(encodeURIComponent(document.vkp_create.msg.value));
                  mfg

                  EDIT: ne dann bekomm ich probleme bei der ausgabe:
                  Code:
                  %2C%20%2F%20%3F%20%3A%20%40%20%26%20%3D%20%2B%20%24
                  Zuletzt geändert von WasserDragoon; 23.06.2006, 12:52.

                  Kommentar


                  • #10
                    Original geschrieben von WasserDragoon
                    also reicht es aus, wenn ich folgendes mach?
                    Code:
                    var msg = escape(encodeURIComponent(document.vkp_create.msg.value));
                    Doppelt hält besser, hm?

                    Jetzt darfst du noch mal nachlesen: Schrieb ich etwa und ...?
                    EDIT: ne dann bekomm ich probleme bei der ausgabe
                    Kein Wunder - du hast die Daten ja auch zweimal kodiert.
                    Dass sie beim Empfang nur einmal dekodiert werden, sollte eigentlich logisch sein ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      ne ich dachte das wären funktionen für je verschiedene zeichen
                      also welche davon soll ich nun nehmen?
                      is das egal?
                      mfg

                      EDIT: wenn ich encodeURIComponent verwende kommt folgendes:
                      Code:
                      ß = ß
                      " = \"
                      § = §
                      ´ = ´
                      ² = ²
                      ³ = ³
                      \ = \\
                      € = €
                      ' = \\'
                      ° = °
                      EDIT2: bei escape treten bei folgenden zeichen probleme auf:
                      Code:
                      " = \"
                      \ = \\
                      € = %u20AC
                      Zuletzt geändert von WasserDragoon; 23.06.2006, 15:15.

                      Kommentar


                      • #12
                        Original geschrieben von WasserDragoon
                        EDIT2: bei escape treten bei folgenden zeichen probleme auf:
                        Code:
                        " = \"
                        \ = \\
                        Informiere dich über die Option magic_quotes_gpc von PHP.
                        Code:
                        € = %u20AC
                        Verwende eine Zeichenkoiderung für dein Dokument, die das Euro-Zeichen auch enthält - ISO-8859-1 tut das nicht.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          dann kann ich dafü doch auch stripslashes verwenden?!
                          das mit dem einen zeichen und der kodierung ist nun egal die werden schon utf-8 oder so verwenden.
                          danke
                          mfg

                          Kommentar


                          • #14
                            welche codierung unterstützt denn nur das € zeichen.
                            weder ISO-8859-1 noch ISO-8859-2 oder UTF-8
                            hmm

                            Kommentar

                            Lädt...
                            X