1. Bedzie widoczna. Trzeba sie odwolac wtedy do funkcji przez obiekt parent lub top.
2. Napisalem cos takiego... Funkcja nadaje wszystkim polom tekstowym zdarzenie onchange ktore wywoluje funkcje sprawdzajaca ze wzorcem. Jesli dobrze zrozumialem to mniej wiecej oto chodzilo.
Kod
<script type="text/javascript">
var reg_exp;
function sprawdz(tmp) {
reg_exp = tmp;
ramki = window.frames;
for(i = 0; i < ramki.length; i++) {
formularze = ramki[ i ].document.forms;
for(i2 = 0; i2 < formularze.length; i2++) {
elementy = formularze[ i2 ].elements;
for(i3 = 0; i3 < elementy.length; i3++) {
if(elementy[ i3 ].type == 'text') {
elementy[ i3 ].onchange = wzorzec;
}
}
}
}
}
function wzorzec(e) {
if(e) {
obj = e.target;
} else {
var obj;
for(i = 0; !obj; i++) {
obj = window.frames[ i ].event.srcElement;
}
}
if( !obj.value.match(reg_exp) ) {
alert('Nie pasuje do wzorca: ' + reg_exp);
}
}
</script>
<frameset cols="50%,*">
<frame src="ramka1.htm" name="ramka1">
<frame src="ramka2.htm" name="ramka2">
</frameset>
ramka1.htm
Kod
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
</head>
<body>
Tylko małe i duże litery od A do Z.<br><br>
<form style="margin-top:0;">
<input type="text" id="input1_1"><br><br>
<input type="text" id="input1_2"><br><br>
<input type="text" id="input1_3"><br><br>
</form>
</body>
</html>
ramka2.htm
Kod
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
</head>
<body onload="top.sprawdz( /^[a-z]*$/i );"><br><br>
<form style="margin-top:0;">
<input type="text" id="input2_1"><br><br>
<input type="text" id="input2_2"><br><br>
<input type="text" id="input2_3"><br><br>
</form>
</body>
</html>
PS. [ CODE ] dlatego, zeby zachowac formatowanie.