Функция проверки не пропускает
Есть функция проверки одного поля в форме.
if (!empty(field)) { if(field.match(/^[^а-я][a-z0-9_-]+$/)) return ''; else return "Поле alias : \n допускается латинский алфавит, \n цифры,знаки - и _"; } В принципе работает. Но после отправки данных, если кликнуть кнопкой браузера назад, заполнить форму она не пропускает (даже если заполнено все, в полном соответствии). Перезагрузив страницу-снова пропускает. Но при этом поля очищаются. Подскажите пожалуйста, как можно побороть эту неприятность? |
Sergios,
Выложите рабочий пример в топик вместе с HTML как оформить - тут => http://javascript.ru/formatting |
<! DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="Content-type" content="text/html" charset="utf-8"> <script type="text/javascript"> // Общая функция проверки function validate(form) { fail =''; if(!empty(validateName(form.name.value))) fail = validateName(form.name.value); else if(!empty(validateTitle(form.title.value))) { if(!empty(fail)) fail+= validateTitle(form.title.value); else fail = validateTitle(form.title.value); } else if(!empty(validateAlias(form.alias.value))) { if(!empty(fail)) fail+= validateAlias(form.alias.value); else fail = validateAlias(form.alias.value); } else if(!empty(validateМetadesc(form.metadesc.value))) { if(!empty(fail)) fail+= validateМetadesc(form.metadesc.value); else fail = validateМetadesc(form.metadesc.value); } else if(!empty(validateМetakey(form.metakey.value))) { if(!empty(fail)) fail+= validateМetakey(form.metakey.value); else fail = validateМetakey(form.metakey.value); } else if(!empty(validateH1(form.h1.value))) { if(!empty(fail)) fail+= validateH1(form.h1.value); else fail = validateH1(form.h1.value); } if (empty(fail)) return true; else { alert(fail); return false } } function validateName(field) { if (empty(field)) return "Незаполнено поле Названиe.\n"; else return ''; } function validateTitle(field) { if (empty(field)) return "Незаполнено поле title.\n"; else return ''; } function validateAlias(field) { if (empty(field)) return "Незаполнено поле alias.\n"; if (!empty(field)) { if(field.match(/[a-z0-9_-]+$/)) return ''; else return "Поле alias : \n допускается латинский алфавит, \n цифры,знаки - и _"; } } function validateH1(field) { if (empty(field)) return "Незаполнено поле h1.\n"; else return ''; } function validateМetadesc(field) { if (empty(field)) return "Незаполнено поле Описание.\n"; else return ''; } function validateМetakey(field) { if (empty(field)) return "Незаполнено поле Ключевые слова.\n"; else return ''; } function validateText(field) { if (empty(field)) return "Незаполнено поле текст.\n"; else return ''; } function empty($a) { if($a=='') return true; } </script> </head> <body > <div class="new" > <form id="new_cont" name="new_cont" method="post" action="" onSubmit="return validate(this)"> <p>Название (будет отображено в хлебных крошках)<br /> <label> <input style="margin-left: 85px; margin-top:10px;" type="text" name="name" id="name" size="50" maxlength="50" value="" /> </label> </p> <p>title <label> <input style="margin-left: 45px; font-size:16px; text-align:left;" type="text" name="title" id="title" size="70" maxlength="70" <?php echo 'value="'.$title.'"';?> /> </label> </p> <p>alias <label> <input style="margin-left: 40px;" type="text" name="alias" id="alias" size="50" maxlength="50" <?php echo 'value="'.$alias.'"';?>/> </label> </p> <p> <label>Описание <textarea style="margin-left: 85px;" name="metadesc" id="metadesc" cols="90" rows="3" wrap="off"><?php echo $metadesc;?></textarea> </label> </p> <p>Ключевые слова <br /> <label> <textarea style="margin-left: 85px;" name="metakey" id="metakey" cols="50" rows="2" wrap="soft"><?php echo $metakey;?></textarea> </label> </p> <div class="submit" > <label> <input type="submit" name="button" id="button" value="Отправить" /> </label> </div> </form> </div> </body> </html> |
Sergios,
вместо [js] [/js] нужно явно прописать Цитата:
|
Упс ...Спасибо
Deff Только в таком виде все работает прекрасно. |
Часовой пояс GMT +3, время: 09:02. |