Как правильно создать форму, работающую с внутренним сценарием
Здравствуйте!
Прошу помощи. Мне нужно создать простенький скрипт, проверяющий правильность введенного в форму ответа. Скрипт находится на одной страничке с формой. Т. е. отправлять данные на сервер не нужно. Никак не могу понять, что нужно указывать в значении атрибута "action" тега <form>, чтобы нажатие на кнопку "Ответить" приводило к выполнению шрифта, а не к перезагрузке страницы. Или дело здесь вовсе не в атрибуте "action"? Посмотрите, пожалуйста, что здесь не так. И что нужно изменить, чтобы все заработало? Извините, если вопрос не в тему. [JS]<script language="JavaScript" type="text/javascript"> <!-- function validate1(Form) { var Country = "Беларусь"; var Answer = Form.version.value; if (Answer == Country) alert("Правильно!"); else alert("Вы ошиблись."); return; } //-- </script> [/JS] <form action="#" enctype="text\plain" method="post"> <input type="text" size="20" name="version" value=""><br> <input type="button" onClick="validate1(Form)" value="Ответить"> </form> Заранее благодарен! |
у формы есть событие submit. Если обрабатывать это событие, то в зависимости возвращенного значения (true\false) (или от отмены действия по умолчанию) форма будет\не будет отправлять данные
<form action="#" enctype="text\plain" method="post" onsubmit="return validate1(this)"> функцию придется дописать,чтобы она возвращала true\false. function validate1(Form) { var Country = "Беларусь"; var Answer = Form.version.value; if (Answer == Country){ alert("Правильно!"); *!*return true;*/!* }else{ alert("Вы ошиблись."); *!*return false;*/!* } } |
Цитата:
|
Все равно не работает. Просто обновляется страничка и все. А должно появляться сообщение "Правильно" или "Вы ошиблись". Без обновления странички и без отправки какой-либо информации на сервер. Из формы должен выполняться внутренний сценарий. И все. Возможно ли это?
|
Пардон за шрифты :)
|
Цитата:
Цитата:
<!DOCTYPE html> <html> <head> <title>test</title> <style type="text/css"> </style> <script type="text/javascript"> function validate1(Form){ var Country = "Беларусь"; var Answer = Form.version.value; if (Answer == Country) alert("Правильно!"); else alert("Вы ошиблись."); return; } </script> </head> <body> <form action="#" enctype="text\plain" method="post" onsubmit='validate1(this); return false;'> <input type="text" size="20" name="version" value=""><br> <input type="submit" value="Ответить"> </form> </body> </html> |
Цитата:
Цитата:
|
onSubmit. но какая в html разница?
и надо не input type="button", a input type="submit". Тогда работает,как задумывалось... <script language="JavaScript" type="text/javascript"> function validate1(Form) { var Country = "Беларусь"; var Answer = Form.version.value; if (Answer == Country){ alert("Правильно!"); return true; }else{ alert("Вы ошиблись."); return false; } } </script> <form action="#" enctype="text\plain" method="post" onsubmit="return validate1(this)"> <input type="text" size="20" name="version" value=""><br> <input type="submit" onClick="validate1(Form)" value="Ответить"> </form> |
Цитата:
|
Событие называется submit.
|
Часовой пояс GMT +3, время: 04:10. |