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


Anmelden zum Antworten