среда, 12 декабря 2007 г.

Скрипт проверки данных формы

Надоело каждый раз писать скрипт проверки данных, введенных в форму. Решил написать скрипт, который можно будет использовать многократно. Если кто-то из читающих блог занимается Web-программированием, он тоже может быть полезен. Вот он:

<script>
//Поля
var fields=new Array();
//Завершающие части сообщений

var descrs=new Array();

//Определения полей и частей сообщений

<?php
$i
=0;

echo
"\n";

foreach(
$fields as $name=>$descr){
echo
"fields[$i]=\"$name\";\n";
echo
"descrs[$i]=\"$descr\";\n";

echo
"\n";

$i++;
}

echo
"\n";
?>

//Функция проверки введенных данных

function checkform(form){
for(var i=0;i < fields.length;i++){
name=fields[i];
if(form.elements[name].value=="") {
alert("Вы не ввели "+descrs[i]);
form.elements[name].focus();
return false;
}

}

<?

//Если форма содержит поля ввода пароля

if(isset($passw) && is_array($passw)) {
?>

if(form.<? echo $passw[0] ?>.value!=form.<? echo $passw[1] ?>.value){

alert("Пароли не совпадают");
return false;
}

<?
}
?>

return true;
}

</script>


Для использования скрипта в своей странице нужно создать массив, в котором ключами являются имена полей формы, как они прописаны в тэгах input, textarea и select, а значениями - описания полей, отображаемые на странице. Пример:

<?

$fields
=Array("name"=>"имя","email"=>"Email","text"=>"сообщение");
include(
"checkform.php");

?>

Комментариев нет: