Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2011, 11:09
Новичок на форуме
Отправить личное сообщение для arkushy Посмотреть профиль Найти все сообщения от arkushy
 
Регистрация: 13.07.2011
Сообщений: 7

Как правильно создать форму, работающую с внутренним сценарием
Здравствуйте!

Прошу помощи. Мне нужно создать простенький скрипт, проверяющий правильность введенного в форму ответа. Скрипт находится на одной страничке с формой. Т. е. отправлять данные на сервер не нужно. Никак не могу понять, что нужно указывать в значении атрибута "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>


Заранее благодарен!
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2011, 11:25
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

у формы есть событие 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;*/!*
}

}
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2011, 11:40
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от arkushy
приводило к выполнению шрифта
Будущее программирования - в компилируемых шрифтах! Я считаю)
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #4 (permalink)  
Старый 13.07.2011, 11:59
Новичок на форуме
Отправить личное сообщение для arkushy Посмотреть профиль Найти все сообщения от arkushy
 
Регистрация: 13.07.2011
Сообщений: 7

Все равно не работает. Просто обновляется страничка и все. А должно появляться сообщение "Правильно" или "Вы ошиблись". Без обновления странички и без отправки какой-либо информации на сервер. Из формы должен выполняться внутренний сценарий. И все. Возможно ли это?
Ответить с цитированием
  #5 (permalink)  
Старый 13.07.2011, 12:00
Новичок на форуме
Отправить личное сообщение для arkushy Посмотреть профиль Найти все сообщения от arkushy
 
Регистрация: 13.07.2011
Сообщений: 7

Пардон за шрифты
Ответить с цитированием
  #6 (permalink)  
Старый 13.07.2011, 12:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от melky
у формы есть событие submit.
Нет такого события...

Сообщение от arkushy
А должно появляться сообщение "Правильно" или "Вы ошиблись". Без обновления странички и без отправки какой-либо информации на сервер.
Как вариант...

<!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>
Ответить с цитированием
  #7 (permalink)  
Старый 13.07.2011, 12:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от ksa
Нет такого события...
Сообщение от ksa
onsubmit=
Зачем вы используете событие, которого нет?
Ответить с цитированием
  #8 (permalink)  
Старый 13.07.2011, 12:35
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

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>
Ответить с цитированием
  #9 (permalink)  
Старый 13.07.2011, 12:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Kolyaj
Зачем вы используете событие, которого нет?
onsubmit не submit... И смайлик рядом не зря.
Ответить с цитированием
  #10 (permalink)  
Старый 13.07.2011, 13:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Событие называется submit.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
Как создать iframe, и отправлять xmlhttp запросы с него? Atilla AJAX и COMET 12 23.03.2010 17:58
Ajax и три <form> не работает. Как правильно сделать листание записей из базы данных? vlad275 AJAX и COMET 2 14.12.2009 14:04
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 19:19