Ist dein Skript so wirklich gedacht?
Da dein String 13 Zeichen hat, ist die Bediengung "link.length>11" wahr. Somit wird nur das alert ausgegeben. Mit "?v=" hat das nichts zu tun.
nähmen wir an link ist z.B. 123456789zezd also 13 Zeichen lang, das Scrip springt zur ersten If Anweisung wo es dann leider stoppt da ?v= nicht gefunden werden kann.Code:function pruef(link,feld) { if (link.length>11) {alert(link.split("?v=")[1].substr(0,11));} else if ( link.match(/\w{11}/i) ) {alert(link);} else {alert("fehler"); document.feld.value="";} }
Soweit so gut nur will ich das das Script nicht wegen dem Fehler stoppt sondern noch die folgenden If Anweisungen ausführt (oder gleich zur letzten springt).
Wie realisiere ich das? Ich glaube da gab es doch irgend ein Befehl oder ?
_____________________________________________________________________
Ich habe es mit einer verschachtelten If abfrage bewältigt
falls jemand den Befehl den ich gesucht habe kennt wäre es trotzdem nicht falsch ihn hier zu Posten![]()
.
Geändert von zocker (04.06.2009 um 19:31 Uhr)
Schreibfehler sind gewollt und wer sie findet und richtig zusammensetzt erhält die Formel um aus Wasser Bier zu machen
Ist dein Skript so wirklich gedacht?
Da dein String 13 Zeichen hat, ist die Bediengung "link.length>11" wahr. Somit wird nur das alert ausgegeben. Mit "?v=" hat das nichts zu tun.
Gruss Guin
Mein Blog
doch hat es, da in dem alert eine /match/ split Anweisung steht, die prüft ob in der Variable link ein ?v= enthalten ist, bei z.B. 123456789zezd ist dies jedoch nicht der Fall deshalb gibt es einen Script Fehler.
Sinn des ganzen soll es sein das aus einem Joutube link die VideoID gefiltert wird.
http://www.youtube.com/watch?v=4eN8_CA0Pzk&feature=related
wird zu
4eN8_CA0Pzk
Geändert von zocker (04.06.2009 um 19:13 Uhr)
Schreibfehler sind gewollt und wer sie findet und richtig zusammensetzt erhält die Formel um aus Wasser Bier zu machen
Ein match ist da nicht, aber ein split.
link.split("?v=")[1].substr(0,11)
Wenn kein "?v=" vorhanden ist, gibt es auch keinen Index 1 und es kommt zu einem Fehler.
arr = link.split("?v=")
Man muss ja nicht alles in einem Schritt machen.
Code:<script type="text/javascript"> function pruef(link,feld){ arr = link.split("?v="); if (link.length>11 && arr[1] != null){ alert(arr[1].substr(0,11)); }else if ( link.match(/\w{11}/i) ){ alert(link); }else{ alert("fehler"); document.feld.value=""; } } </script>
Gruss Guin
Mein Blog
ahh vielen dank Guin
Da hab ich mir wohl ins Bein geschossen als ich versucht habe es so kurz wie möglich zu halten.
Das ich da nicht drauf gekommen bin![]()
Schreibfehler sind gewollt und wer sie findet und richtig zusammensetzt erhält die Formel um aus Wasser Bier zu machen
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)