gruss Moe,
var pattern = document.getElementsByName(feld.name)[0].getAttribute("pattern");
var errorMsg = document.getElementsByName(feld.name)[0].getAttribute("errorMsg");
// alert(pattern);
// alert(errorMsg);
if (feld.value.search(pattern) == -1 && feld.value != "")
{
alert(errorMsg);
}}
...
<input type="text" name="vorname" errorMsg="Nur Buchstaben eingeben oder leer lassen!" pattern="/[1]+$/" onBlur="checkField(this)">
der wert Deines attributes "pattern" ist vom typ "string";
diesen wert weist Du nun Deiner js-variable "pattern" zu -
dabei bleibt der typ unveraendert "string", auch wenn Du
fuer den attributwert "pattern" die literal-schreibweise
von regulaeren ausdruecken verwendest;
der konstruktor "RegExp" hilft an dieser stelle weiter:
"RegExp" erwartet zwei parameter vom typ "string" -
parameter 1 ist das suchmuster (ohne slashes), parameter
2 steht fuer die unterschiedlichen variationen der flags
"g", "i", "m" (oder ist eben ein leerstring);
Dein bsp. sieht dann fogendermassen aus:
var pattern = document.getElementsByName(feld.name)[0].getAttribute("pattern");
pattern = new RegExp(pattern,"");
...
<input type="text" name="vorname" errorMsg="Nur Buchstaben eingeben oder leer lassen!" pattern="[2]+$" onblur="checkField(this)">
viel erfolg und by(t)e by(t)e - peterS. - pseliger@gmx.net
--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)