Witam! Próbuje napisać od podstaw skrypt walidujący formularze. Mam trzy pola, które chce sprawdzać w momencie naciśnięcia submita. Chyba czegoś nie rozumiem w składni JS bo skrypt powoduje tylko mignięcie podpowiedzi do pól i reszta strony wykonuje się dalej - wykonywane jest uzupełnienie bazy danych.
_____
Poradziłem sobie z problemem. W kodzie jeszcze trzeba nanieść pare usprawnień, ale ogólny zamysł jest spełniony więc zamieszczam gdyby ktoś był zainteresowany.
CODE
function validate(kategorie,kwota,opis,id) {
var regexp_price = /^\d+((\.|,)\d{2})?$/;
var regexp_desc = /^[0-9A-Za-ząćęłńóśźżĆŁŚŹŻ,]+$/;
if (kategorie.value == "") {
document.getElementsByName("1_error")[id].innerHTML = "Wybierz kategorię wpisu";
return false;
}
if (kategorie.value != "") {
document.getElementsByName("1_error")[id].innerHTML = "";
}
if (kwota.value == "" || kwota.value.match(regexp_price) == null) {
document.getElementsByName("2_error")[id].innerHTML = "Podaj prawidłową kwotę";
return false;
}
if (kwota.value != "") {
document.getElementsByName("2_error")[id].innerHTML = "";
}
if (opis.value != "" && opis.value.match(regexp_desc) == null) {
document.getElementsByName("3_error")[id].innerHTML = "Dozwolone litery i cyfry";
return false;
}
if (opis.value != "") {
document.getElementsByName("3_error")[id].innerHTML = "";
}
return true;
}
window.onload = function() {
document.getElementsByName("form")[0].onsubmit = function() {
if (validate(this.kategorie, this.kwota, this.opis,0)) {
return true;
}
else {
return false;
}
}
document.getElementsByName("form")[1].onsubmit = function() {
if (validate(this.kategorie, this.kwota, this.opis,1)) {
return true;
}
else {
return false;
}
}
}
Można zamknąć.
Ten post edytował Grandalf00 4.02.2016, 10:59:38