chciałem napisać kod sprawdzający poprawności wypełnionych pól w formularzu za pomocą javascript. Jednak nie działa. Po wpisaniu błędnych danych nic się nie dzieje. Powinno pojawić się okno z opisem źle wypełnionych pól, lecz nie pojawia się.
Poniżej umieszczać kod z pliku php oraz dołączonego do niego pliku pliku js.
Plik php.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <script language="javascript1.2" type="application/javascript"> function check_valid(form) { var error = ""; error += verify_username(form.username.value); error += verify_password(form.password.value); error += verify_phone(form.phone.value); error += verify_email(form.email.value); if (error != "") { alert(error); return false; } return true; } </script> <body bgcolor="#FFFFFF"> <form action="process.php" method="post" onsubmit="return check_valid(this)" id="test1" name="test1"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> </table> </form> </body> </html>
Plik js.
Kod
function verify_username (strng) {
var error = "";
if (strng == "") {
error = "Nie wprowadzono nazwy użytkownika.\n";
}
var illegalChars = /\W/;
if ((strng.length < 6) || (strng.length > 10)) {
error = "Nazwa użytkownika ma nieprawodłow długość. Długość nazwy użytkownika musi mieścić się w zakresie od 6-10 znaków.\n";
}
else if (illegalChars.test(strng)) {
error = "Nazwa użytkownika zawiera niedozwolone znaki.\n";
}
return error;
}
function verify_password (strng) {
var error = "";
if (strng == "") {
error = "Nie wprowadzone haslo";
}
var illegalChars = /[\W_]/;
if ((strng.length < 6) || (strng.length > 8)) {
error = "Hasło ma nieprawodłow długość. Dlugość hasła musi mieścić się w zakresie od 6 do 8 znaków.\n";
}
else if (illegal.Chars.test(strng)) {
error = "Hasło zawiera niedozlowone znaki.\n";
}
else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
error = "W haśle musi się znaleźć co najmniej jedna wielka litera, jedna mała litera i jedna cyfra.\n";
}
return error;
}
function verify_email (strng) {
var error = "";
if (strng == "") {
error = "Nie wprowadzono adresu e-mail użytkownika.\n";
}
var emailFilter=/^.+@.+\..{2,4}$/;
if (!(emailFilter.test(strng))) {
error = "Prosze wprowadzić prawidłowy adres email.\n";
}
else {
var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
if (strng.match(illegalChars)) {
error = "Adres email zawiera niedozwolone znaki.\n";
}
}
return error;
}
function verify_phone (strng) {
var error = "";
if (strng = "") {
error = "Nie wprowadzono numeru telefonu.\n";
}
var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
if (isNaN(parseInt(stripped))) {
error = "Numer telefonu zawieta niedozwolone znaki.\n";
}
if (!(stripped.length == 10)) {
error = "Numer telefonu ma nieprawidłow długość. Należy wprowadzić numer telefonu wraz z numerem kierunkowym.\n";
}
return error;
}
}
var error = "";
if (strng == "") {
error = "Nie wprowadzono nazwy użytkownika.\n";
}
var illegalChars = /\W/;
if ((strng.length < 6) || (strng.length > 10)) {
error = "Nazwa użytkownika ma nieprawodłow długość. Długość nazwy użytkownika musi mieścić się w zakresie od 6-10 znaków.\n";
}
else if (illegalChars.test(strng)) {
error = "Nazwa użytkownika zawiera niedozwolone znaki.\n";
}
return error;
}
function verify_password (strng) {
var error = "";
if (strng == "") {
error = "Nie wprowadzone haslo";
}
var illegalChars = /[\W_]/;
if ((strng.length < 6) || (strng.length > 8)) {
error = "Hasło ma nieprawodłow długość. Dlugość hasła musi mieścić się w zakresie od 6 do 8 znaków.\n";
}
else if (illegal.Chars.test(strng)) {
error = "Hasło zawiera niedozlowone znaki.\n";
}
else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
error = "W haśle musi się znaleźć co najmniej jedna wielka litera, jedna mała litera i jedna cyfra.\n";
}
return error;
}
function verify_email (strng) {
var error = "";
if (strng == "") {
error = "Nie wprowadzono adresu e-mail użytkownika.\n";
}
var emailFilter=/^.+@.+\..{2,4}$/;
if (!(emailFilter.test(strng))) {
error = "Prosze wprowadzić prawidłowy adres email.\n";
}
else {
var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
if (strng.match(illegalChars)) {
error = "Adres email zawiera niedozwolone znaki.\n";
}
}
return error;
}
function verify_phone (strng) {
var error = "";
if (strng = "") {
error = "Nie wprowadzono numeru telefonu.\n";
}
var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
if (isNaN(parseInt(stripped))) {
error = "Numer telefonu zawieta niedozwolone znaki.\n";
}
if (!(stripped.length == 10)) {
error = "Numer telefonu ma nieprawidłow długość. Należy wprowadzić numer telefonu wraz z numerem kierunkowym.\n";
}
return error;
}
}
Z góry dziękuję za pomoc.