Formularz z komentarzem

Interesujące i praktyczne rozwiązanie. Jeden z zastosowanych tutaj skryptów wyświetla objaśnienia do kolejnych pól formularza a drugi sprawdza czy nie użyto wulgaryzmów

W sekcji head wstaw kod:

<SCRIPT language=JavaScript>
<!--
var numberOfWords = 32;
var message = "Proszę nie używać wulgaryzmów!";
var isProfane = new makeArray(numberOfWords);
var word = new makeArray(numberOfWords);

function checkForProfanity(usersInput) {

var temp = usersInput;
temp = temp.toLowerCase();


for (var j = 1; j <= numberOfWords; j++) {
isProfane[j] = temp.indexOf(word[j]);
}


for (var j = 1; j <= numberOfWords; j++) {
if (isProfane[j] != -1) {
alert("Proszę zmienić wyraz \'"+word[j]+"\' na inny.");
usersInput = message;
j = numberOfWords + 1; }

else {}
}
return usersInput;
}

function makeArray(n) {
this.length = n
for (var i = 1; i<=n; i++) {
this[i] = new String();
}
return this;
}
//-->
</SCRIPT>

W sekcji body wstaw:

<SCRIPT language=JavaScript>
<!--
word[1] = "wulgaryzm";
word[2] = "kolejny wulgaryzm";
word[3] = "kolejny wulgaryzm";
word[4] = "kolejny wulgaryzm";
word[5] = "kolejny wulgaryzm";
word[6] = "kolejny wulgaryzm";
word[7] = "kolejny wulgaryzm";
word[8] = "kolejny wulgaryzm";
word[9] = "kolejny wulgaryzm";
word[10] = "kolejny wulgaryzm";
word[11] = "kolejny wulgaryzm";
word[12] = "kolejny wulgaryzm";
word[13] = "kolejny wulgaryzm";
word[14] = "kolejny wulgaryzm";
word[15] = "Proszę nie używać wulgaryzmów!";
word[16] = "kolejny wulgaryzm";
word[17] = "kolejny wulgaryzm";
word[18] = "kolejny wulgaryzm";
word[19] = "kolejny wulgaryzm";
word[20] = "kolejny wulgaryzm";
word[21] = "kolejny wulgaryzm";
word[22] = "kolejny wulgaryzm";
word[23] = "kolejny wulgaryzm";
word[24] = "kolejny wulgaryzm";
word[25] = "kolejny wulgaryzm";
word[26] = "kolejny wulgaryzm";
word[27] = "kolejny wulgaryzm";
word[28] = "kolejny wulgaryzm";
word[29] = "kolejny wulgaryzm";
word[30] = "kolejny wulgaryzm";
word[31] = "kolejny wulgaryzm";
word[32] = "kolejny wulgaryzm";

function testBox1(form) {
Ctrl = form.imie;
if (Ctrl.value == "") {
validatePrompt (Ctrl, "Proszę podać imię.")
return (false);
} else
return (true);
}
//---------
function testBox2(form) {
Ctrl = form.nazwisko;
if (Ctrl.value == "") {
validatePrompt (Ctrl, "Proszę podać nazwisko.")
return (false);
} else
return (true);
}
//---------
function testBox3(form) {
Ctrl = form.email;
if (Ctrl.value == "" || Ctrl.value.indexOf ('@', 0) == -1) {
validatePrompt (Ctrl, "Proszę podać adres e-mail.")
return (false);
} else
return (true);
}
//---------
function testBox4(form) {
Ctrl = form.haslo;
if (Ctrl.value.length > 10) {
validatePrompt (Ctrl, "Proszę podać hasło.")
return (false);
} else
return (true);
}
//---------
function testBox5(form) {
Ctrl = form.phaslo;
if (Ctrl.value.length > 10) {
validatePrompt (Ctrl, "Proszę ponownie podać hasło.")
return (false);
} else
return (true);
}
//---------
function runSubmit (form, button) {
if (!testBox1(form)) return;
if (!testBox2(form)) return;
if (!testBox3(form)) return;
if (!testBox4(form)) return;
if (!testBox5(form)) return;
alert ("Formularz wypełniony poprawnie.");
document.test.submit();
return;
}
//---------
function validatePrompt (Ctrl, PromptStr) {
alert (PromptStr)
Ctrl.focus();
return;
}
function loadDoc() {
// initial focus; use if needed
//document.test.key.focus ();
return;
}
// -->
</SCRIPT>



<SCRIPT language=JavaScript>

function changeTip(a,b,c,d,e,f,g,h) {
if (a.style.display =='') {
a.style.display = 'none';

}
else {
a.style.display='';
b.style.display='none';
c.style.display='none';
d.style.display='none';
e.style.display='none';
f.style.display='none';
g.style.display='none';
h.style.display='none';

}
}
function showDefault() {
tip.style.display='';
}
function showKey() {
key.style.display='';
linkKey.style.textDecoration='none';
linkKey.style.cursor='hand';
linkKey.style.color='#ff0000';
linkKey.style.fontWeight='normal';
linkKey.style.letterSpacing='normal';
}
function showCat() {
cat.style.display='';
linkCat.style.textDecoration='none';
linkCat.style.cursor='hand';
linkCat.style.fontWeight='normal';
linkCat.style.color='#ff0000';
}
function showMfg() {
mfg.style.display='';
linkMfg.style.textDecoration='none';
linkMfg.style.cursor='hand';
linkMfg.style.fontWeight='normal';
linkMfg.style.color='#ff0000';
}
function showSms() {
Sms.style.display='';
linkSms.style.textDecoration='none';
linkSms.style.cursor='hand';
linkSms.style.fontWeight='normal';
linkSms.style.color='#ff0000';
}
function showMfgPart() {
mfgPart.style.display='';
linkMfgPart.style.textDecoration='none';
linkMfgPart.style.cursor='hand';
linkMfgPart.style.fontWeight='normal';
linkMfgPart.style.color='#ff0000';
}
function showMax() {
max.style.display='';
linkMax.style.textDecoration='none';
linkMax.style.cursor='hand';
linkMax.style.fontWeight='normal';
linkMax.style.color='#ff0000';
}
function showMin() {
min.style.display='';
linkMin.style.textDecoration='none';
linkMin.style.cursor='hand';
linkMin.style.fontWeight='normal';
linkMin.style.color='#ff0000';

}
function hideDefault() {
tip.style.display='none';

}
function hideKey() {
key.style.display='none';
linkKey.style.textDecoration='none';
linkKey.style.cursor='hand';
linkKey.style.color='#000000';
linkKey.style.fontWeight='normal';
linkKey.style.letterSpacing='normal';
}
function hideCat() {
cat.style.display='none';
linkCat.style.textDecoration='none';
linkCat.style.cursor='hand';
linkCat.style.fontWeight='normal';
linkCat.style.color='#000000';
}
function hideMfg() {
mfg.style.display='none';
linkMfg.style.textDecoration='none';
linkMfg.style.cursor='hand';
linkMfg.style.fontWeight='normal';
linkMfg.style.color='#000000';
}
function hideSms() {
Sms.style.display='none';
linkSms.style.textDecoration='none';
linkSms.style.cursor='hand';
linkSms.style.fontWeight='normal';
linkSms.style.color='#000000';
}
function hideMfgPart() {
mfgPart.style.display='none';
linkMfgPart.style.textDecoration='none';
linkMfgPart.style.cursor='hand';
linkMfgPart.style.fontWeight='normal';
linkMfgPart.style.color='#000000';
}
function hideMax() {
max.style.display='none';
linkMax.style.textDecoration='none';
linkMax.style.cursor='hand';
linkMax.style.fontWeight='normal';
linkMax.style.color='#000000';
}
function hideMin() {
min.style.display='none';
linkMin.style.textDecoration='none';
linkMin.style.cursor='hand';
linkMin.style.fontWeight='normal';
linkMin.style.color='#000000';
}
</SCRIPT>

W ramach znacznika body wstaw:

<BODY onload=loadDoc()>

W linijkach:

word[2] = "kolejny wulgaryzm"; wpisz słowa których nie chcesz by używano do wypełnienia formularza.
Na koniec budujemy formularz:
opis pola formularza widoczny po lewej stronie:

<DIV id=linkKey
onclick=showKey();hideCat();hideMfg();hideSms();hideMfgPart();hideMax();hideMin();hideDefault();
style="CURSOR: hand"><font face="verdana,arial,helvetica" size="2" color="#FFFFCC">Imię</font>
</DIV>

pole formularza:

<INPUT maxLength=50 name=imie
onblur="this.value = checkForProfanity(this.value);"
onfocus=showKey();hideCat();hideMfg();hideSms();hideMfgPart();hideMax();hideMin();hideDefault();>

objaśnienie pojawiające się po prawej stronie w momencie klikniecia na opis po lewej stronie lub ustawieniu kursora w polu formularza:

<DIV id=key style="DISPLAY: none"><FONT face=verdana,arial,helvetica
size=2><B>Imię</B><BR>Wpisz swoje imię w odpowiednie miejsce w
formularzu.</FONT></DIV>