Страница 1 из 1

Как остановить/отменить субмит формы?

Добавлено: 25 июн 2005, 16:24
Bolat
Мне нужно чтобы при начале субмита была проведена проверка текста формы и если проверка выдала отрицательный результат субмит небыл произведен.

Я се так примерно это представляю:

Код: Выделить всё

<html><head>
<script language="javascript">
function CheckForm(form)
{
 if(form.text.value=='')
 {
  alert('Enter some text!');
  // Код остановки субмита формы, которого я не знаю...
 }
 else
 {form.submit()}
}
</script></head>

<body>
<form name="forma" action="SomeScript.html" method="post" onSubmit="CheckForm(this)">
<input name="text" type="text" size="20">
<input name="but" type="submit" value="  OK  ">
</form>
</body></html>
Или как то это по другому делается?

Добавлено: 25 июн 2005, 19:15
Absurd
Немного не так. Функция должна возвращать true если принимаем данные или false в другом случае

Код: Выделить всё

function CheckForm(form)
{
 if(form.text.value=='')
 {
  alert('Enter some text!');
  return false;
 }
 else
 {
  return true;
 }
} 

Добавлено: 26 июн 2005, 11:55
Bolat
Absurd
Все равно форма субмитися - происодит выполнения файла 'SomeScript.html'.

TvoyWeb
Все равно форма субмитися - происодит выполнения файла 'SomeScript.html'.TvoyWeb

Ваще проблема в том что я хотел бы чтобы субмит формы происходил токо через функцию Check().

Код: Выделить всё

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
 function Check(form)
 {
  if(document.forms[0].text.value==''){alert('Enter some text!')}
  else{document.forms[0].submit();}
 }
</script>
</head>
<body>
 <form name="forma" action="SomeScript.html" method="post">
  <input name="text" type="text" size="10">
  <input name="but" type="button" value=" OK " onClick="Check()">
 </form>
</body>
</html>
Если нажать кнопку OK то запускается функция Check - это нормально.
Но если навести фокус на текстовое поле и нажать 'Enter', то СРАЗУ же происходит субмит формы(функция Check() игнорируется, так как кнопка OK не была нажата) - это плохо! Как этого избежать?

Добавлено: 26 июн 2005, 16:06
Bolat
Сам дошел:

Код: Выделить всё

form name="forma" action="return SomeScript.html" method="post">