JavaScript Funktionsproblem
-
zunächst mal etwas Code...
Die Funktion checkhex soll überprüfen ob "a" hexdezimal ist.
Wenn ja, dann "a" zurückgeben, ansonsten "000000" = schwarz<SCRIPT TYPE="text/javascript"><!-- function checkhex(a) { var g='0123456789ABCDEFabcdef'; var h; var i; var j; for(i=0;i<6;i++) { h=1; for(j=0;j<22;j++) { if(a[i]==g[j]) { h=0; break; } } if(h==1) { return('000000'); } } return(a); } --></SCRIPT>
<FORM><INPUT TYPE="text" NAME="hex"/> <INPUT TYPE="button" onClick="this.form.hex.value=checkhex(this.form.hex.value);" VALUE="Aktualisieren"/></FORM>
Im Firefox ist funktioniert dies, aber der IE gibt immer nur "a" zurück.
Worin besteht der Fehler?mfg (c)h
-
Problembeispiel:
<HTML> <HEAD> <TITLE>test</TITLE> <SCRIPT TYPE="text/javascript"><!-- function checkhex(a) { var g='0123456789ABCDEFabcdef'; var h; var i; var j; for(i=0;i<6;i++) { h=1; for(j=0;j<22;j++) { if(a[i]==g[j]) { h=0; break; } } if(h==1) { return('000000'); } } return(a); } --></SCRIPT> </HEAD> <BODY> <FORM> <INPUT TYPE="text" NAME="hex"/> <INPUT TYPE="button" onClick="this.form.hex.value=checkhex(this.form.hex.value);" VALUE="Testen"/> </FORM> </BODY> </HTML>
in Firefox:
in IE:mfg (c)h
-
Der IE kann nicht mit [] auf die einzelnen Zeichen zugreifen - wenn dann müsstest du charAt() dazu verwenden
Eleganter ist es aber wohl, wenn du match() dazu verwendest
- oder du machst es so wie hier...
-
selfhtml.org ist die offizielle Heimatadresse des Web-Projekts SELFHTML.
MfG SideWinder