Написал проверку формы. Все работает. Но при загрузки с помощью аякса, начинается чихорда: Если ввести в поле буквоцифры(неважно) то кнопка "Сохранить" не работает - тоесть функция валидации не работает, и последующее реанимирование типа удаления текста из поля не помогает. Если же при загрузке формы аяксом ничего не вводить и нажать на кнопку "сохранить" то все работает - выдает сообщение о незаполненном поле.
Если есть смысл в выкладывании исходника,то вылажу. Но думаю ответ для опытных людей очевиден. Если кто встречался подскажите.
Функции обработки форм:
//Функция изменения класса поля
function changeClass(abc){
//alert("!!")
abc.className = "formsinput"
}
//проверяет, правильно ли введен текст
function correctPost(o,regexp, txt){
// = /^[а-я]([а-яА-ЯёЁ0-9_])+$/i
obj = d.getElementById(o).value
if (!(regexp.test( obj ) ))
{
d.getElementById(o).className = "errPost"
mess = d.getElementById("alertMess");
mess.innerText = txt;
mess.className = "messClass";
return false
}
else
{
mess.innerText = "";
mess.className = "passive";
return true
}
}
function sendPost()
{ //alert("")
var required = new Array("firmname", "firminfo", "street", "house", "phone", "time1", "time2");
// alert(required.length)
var required_rexp = new Array( /[а-я0-9]([а-яА-ЯёЁ0-9_\s])+$/i,/[а-я0-9]([а-яА-ЯёЁ0-9_\s])+$/i,/[а-я0-9]([а-яА-ЯёЁ0-9_\s])+$/i,/[а-яА-ЯёЁ0-9_]+$/i, /^\+[0-9]+\([0-9]+\)[0-9]+$/i, /^[0-9]+\.[0-9]+$/i, /^[0-9]+\.[0-9]+$/i)
//alert(required_rexp.length)
var required_mess = new Array("Неправильно заполненно название фирмы", "Неправильно написана информация о фирме", "Неправильно написана название улицы","Неправильно написан номер дома","Неправильно написан номер телефона" ,"Формат времени не верный","Формат времени не верный")
// alert(required_mess.length)
for (i=0;i<required.length;i++)
{
corr = correctPost(required[i],required_rexp[i],required_mess[i])
if(corr ==false)
{ break
i=0
}
}
if (corr == false)
{
}
else if ( corr ==true)
{
{
alert("Все правильно!!!")
}
}
Собственно сама форма:
<div id="kataloMain">
<table width="100%" border="0">
<tr>
<td width="10%"> </td>
<td >Все поля * обязательны для заполнения </td>
</tr>
<tr>
<td> </td>
<td ><div id="alertMess" style="height:20px;"></div></td>
</tr>
<tr>
<td> </td>
<td class="clTittleTr">Название организации</td>
</tr>
<tr>
<td class="clKatTd">Название*</td>
<td><input type="text" name="firmname" id="firmname" class="selSize" onchange="changeClass(this);"/></td>
</tr>
<tr>
<td valign="bottom" class="clKatTd">Краткая* информация</td>
<td rowspan="2"><textarea name="info" id="firminfo" cols="45" rows="5" class="selSize" onchange="changeClass(this);"></textarea></td>
</tr>
<tr>
<td valign="top" class="clKatTd" style="color: #A0A0A4; font-size: x-small;">от 40 до 250 знаков</td>
</tr>
<tr>
<td> </td>
<td class="clTittleTr">Контактная информация</td>
</tr>
<tr>
<td class="clKatTd">Город</td>
<td><select name="city" id="city" class="selSize" disabled="disabled">
<option value="1">Железногорск</option>
</select></td>
</tr>
<tr>
<td class="clKatTd">Улица*</td>
<td> <input size="30" id="street" onKeyUp="lookup(this.value);" type="text" autocomplete="off" onBlur="hide();" class="selSize" />
<div class="suggestionsBox" id="suggestions" style="display: none;">
<div class="suggestionList" id="autoSuggestionsList">
</div></div></td>
</tr>
<tr>
<td class="clKatTd">Дом*</td>
<td><input type="text" name="house" id="house" class="selSize" onchange="changeClass(this);"/></td>
</tr>
<tr>
<td align="center"><span class="clKatTd">Телефон*</span></td>
<td><input type="text" name="phone" id="phone" class="selSize" onchange="changeClass(this);"/></td>
</tr>
<tr>
<td align="center"><span class="clKatTd">E-mail</span></td>
<td ><input type="text" name="email" id="email" class="selSize" /></td>
</tr>
<tr>
<td align="center"><span class="clKatTd">URL</span></td>
<td ><input type="text" name="url" id="url" class="selSize" /></td>
</tr>
<tr>
<td align="center"> </td>
<td>
> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><label class="lBox2">
<input type="checkbox" name="checkbox2" id="checkbox2" class="workDay"/>
Я согласен с условиями размещения информации об организации на сайте "Каталог Железногорска" </label></td>
</tr>
<tr>
<td> </td>
<td align="center"><input type="button" name="button" id="btnSnd" value="Отправить" onclick="sendPost();"/></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
</div>