Witam,
mam sktypt, który gdzieś znalazłem na tym forum do sprawdzania pustych pól formularza.
Działa fajnie, ale chciałbym dodać do niego inne możliwości.
<script type="text/javascript" language="JavaScript">
var ClassName2 = "val"; //nazwa klasy elementów, które mają być poddane walidacji
var FocusColor2 = "#FF3366"; //kolor podświetlenia niewypełnionego pola
function checkForm2(theFormm) {
var error = false;
var inputfields = document.getElementsByTagName("input");
for(var x = 0 ; x < inputfields.length ; x++ ) {
if(inputfields[x].getAttribute("class") == ClassName2) {
if (inputfields[x].value.length == 0) {
inputfields[x].style.background = FocusColor2;
error = true;
}
else {
inputfields[x].style.background = '';
}
}
}
if(error == true) {
alert("Wypełnić podświetlone pola!");
return false;
}
}
</script>
<FORM action="przeslij.php" method="post" name=formularzedycja onsubmit="return checkForm2(this)">
<INPUT type="text" style="width: 147px;" name="imie" class="val">
<INPUT type="text" style="width: 147px;" name="nazwisko" class="val">
<INPUT type="text" style="width: 147px;" name="kwota" class="val">
</form>
Mianowicie np. chciałbym, aby skrypt dodatkowo sprawdzał czy dane pole zawiera liczbę i nie ma innych znaków niepożądanych i mam coś takiego po połączeniu dwóch skryptów:
<script type="text/javascript" language="JavaScript">
var ClassName2 = "val2"; //nazwa klasy elementów, które mają być poddane walidacji
var FocusColor2 = "#FF3366"; //kolor podświetlenia niewypełnionego pola
function checkForm2(theFormm) {
var error = false;
var inputfields = document.getElementsByTagName("input");
for(var x = 0 ; x < inputfields.length ; x++ ) {
if(inputfields[x].getAttribute("class") == ClassName2) {
if (inputfields[x].value.length == 0) {
inputfields[x].style.background = FocusColor2;
error = true;
}
else {
inputfields[x].style.background = '';
}
}
}
if(error == true) {
alert("Aby dokonać edycji klienta musisz wypełnić podświetlone pola!");
return false;
}
var reg = /^-?\d+(([,\.]?\d+)|())$/;
if(reg.test(document.forms['formularzedycja'].kwota.value)) {
return true;
} else {
alert("Wpisano zły format kwoty!\nPrawidłowy format to np. 9.99");
return false;
}
}
</script>
<FORM action="przeslij.php" method="post" name=formularzedycja onsubmit="return checkForm2(this)">
<INPUT type="text" style="width: 147px;" name="imie" class="val">
<INPUT type="text" style="width: 147px;" name="nazwisko" class="val">
<INPUT type="text" style="width: 147px;" name="kwota" class="val">
</form>
Moja wersja działa poprawnie jednak nie tak jakbym chciał. Tzn. nie jest ona połączona ze skryptem do sprawdzania pustych pól formularza... Chciałbym, aby sprawdzanie kwoty był wykonane i również podświetliło pole, które jest źle wypełnione a teraz po wpisaniu złych danych w input wyskakuje tylko sam alert bez podświetlenia pola.
Chyba musiałoby być to w tej samej pętli co sprawdzanie pól formularza. Jak dodawać kolejne akcje do sprawdzania określonych pól formularza za jednym zamachem w spoób poprawny. Robiłem to metodą prób i błędów więc udało mi się zrobić tak jak teraz to funkcjonuje.
Ten post edytował kubax33 15.09.2013, 14:10:00