Javascript keine Funktion in IE7 (FF und IE8 o.k.)

MatMagic

Erfahrenes Mitglied
Hallo Community,
ich habe ein simples Javascript aus Code-Snippets "zusammengebastelt" welches nur kleingeschriebene Buchstaben von a-z in einem Input Feld zulässt.
Es funktioniert auch einwandfrei im Firefox und im IE8. Da mir aber zu viele potenzielle User auch mit vorherigen Versionen des IE unterwegs sind sollte es auch wenigstens im IE7 funktionieren.
Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function abc()
{
document.getElementById('p1').value = document.getElementById('p1').value.replace(/[^a-z]/,'');
}
</script>
</head>
<body>
<div id="P1" style="position:absolute; left:60px; top:20px; width:50px; height:30px;"> 
<input id="p1" name="txt_8" type="text" value="" maxlength="6" onKeyup="abc(this)" onKeydown="abc(this)" onKeypress="abc(this)"/>
</div>
</body>
</html>

Ich hoffe ihr könnt mir weiterhelfen.
Mat
 
Moin Mat,

ich schätze, der IE stört sich an der ID des <div>

Er sollte dort eigentlich die unterschiedliche Schreibweise der ID berücksichtigen...tut er aber offensichtlich nicht.
Daher findet er mit document.getElementById('p1') nicht das <input> sondern das <div>...dessen nicht vorhandenes value-Attribut verursacht dann einen Fehler.

Lösung: gebe dem <div> eine andere ID oder verzichte in dem Skript ganz auf den Zugriff per ID:

Code:
<script type="text/javascript">
function abc(o)
{
o.value = o.value.replace(/[^a-z]/,'');
}
</script>
 
Zurück