|
|
|
| Как сделать так что бы выполнялась, проверка заполнения полей при нажатии кнопки submit и в случае если поле пустое то не будет осуществлен переход к обработчику? | |
|
|
|
|
|
|
|
для: Dimka31
(27.11.2007 в 12:18)
| | Вместо submit используйте button, onclick и submit() | |
|
|
|
|
|
|
|
для: Dimka31
(27.11.2007 в 12:18)
| |
if(empty)
{return false}
else
{return true}
| Обработчик повесьте на событие onsubmit для формы.
Например, если добавить обработчик:
document.getElementById('#myform').onsubmit = function(){
return false;
}
| то форму нельзя будет отправить. | |
|
|
|
|
|
|
|
для: Dimka31
(27.11.2007 в 12:18)
| |
<script>
function checkValue(e) {
var labels = document.getElementsByTagName('label');
var ret = true;
for (i=0; i<e.length; i++) {
if (e[i].value=='') {
alert('Не заполнено поле: '+labels[i].innerHTML);
ret = false;
break;
}
}
return ret;
}
</script>
<form action="" onsubmit="return checkValue(this.elements)">
<label for="res_1">Input 1</label>
<input type="text" id="res_1" name="res_1"><br>
<label for="res_2">Input 2</label>
<input type="text" id="res_2" name="res_2"><br>
<label for="res_3">Input 3</label>
<input type="text" id="res_3" name="res_3"><br>
<input type="submit" value="Send">
</form>
|
| |
|
|
|
|
|
|
|
для: sim5
(27.11.2007 в 13:56)
| | немного переписал скрипт, только ничего не получаеться
function checkValue(e)
{
var ret = true;
if (document.all['FIO'].value=='')
{
alert('Не заполнено поле: Ф.И.О');
ret = false;
break;
}
if (document.all['DAT'].value=='')
{
alert('Не заполнено поле: Дата рождения');
ret = false;
break;
}
if (document.all['MAI'].value=='')
{
alert('Не заполнено поле: E-mail');
ret = false;
break;
}
if (document.all['PHO'].value=='')
{
alert('Не заполнено поле: Телефон');
ret = false;
break;
}
return ret;
}
<form action="add.php" method="post" onSubmit="return checkValue(this.elements)">
<table width="100%">
<tr>
<td width="30%">
<p align="left"><b>Ф.И.О:</b></p>
</td>
<td>
<p align="left"><input name="FIO" type="text" size="25" maxlength="50">
<input name="log" type="button" value="проверить" onClick="login();">
</td>
</tr>
<tr>
<td>
<p align="left"> <b>Отдел:</b>
</td>
<td>
<p align="left"><select name="OTD">
<option value="Personal">Отдел Персонала
<option value="Sale">Отдел Продаж
<option value="Finance">Отдел Финансов
</select>
</td>
</tr>
<tr>
<td>
<p align="left"><b> Дата рождения:</b>
</td>
<td>
<p align="left"><input name="DAT" type="text" size="10" maxlength="20">
</td>
</tr>
<tr>
<td>
<p align="left"><b>E-mail:</b>
</td>
<td>
<p align="left"><input name="MAI" type="text" size="20" maxlength="30">
</td>
</tr>
<tr>
<td>
<p align="left"><b>Телефон:</b>
</td>
<td>
<p align="left"><input name="PHO" type="text" size="10" maxlength="20">
</td>
</tr>
</table>
<input type="submit" value="Добавить">
</form>
|
| |
|
|
|
|
|
|
|
для: Dimka31
(27.11.2007 в 14:31)
| | А зачем так длинно? Чем вас не устраивает более короткое - перебор элементов формы в цикле? Укажите LABEL для элементов ввода, отпадет необходимость писать лишнее. document.all - зачем?
Делайте проще. Элементы формы - это массив, начиная с нулевого индекса и до length-1. Вам ведь нужно только узнать - пустое поле или нет. Единственно, что добавить, так это корректность ввода e-mail, но и это можно проверить в цикле. | |
|
|
|