2007-10-16

Ноль или не ноль.

Сегодня обнаружил любопытное свойство события onsubmit элемента form. Оказывается чтобы предотвратить посылку формы нужно возвратить имено значение false. Если вернуть ноль то форма все равно посылается. Такое поведение свойственно FF , IE, Safari и Опере. Тоесть имеет значение что возвращается Ноль или False. Вот код примера.
<html>
<head>
<script type="text/javascript">
//<!--
function test(form){
  if (form.s.value=='1'){
     return false;
  }
  else {
     return 0;
  }
}
window.onload = function(){alert('loaded')};

//-->
</script>
</head>
<body>


<form method="post" action="" onsubmit="return test(this)">

<select name="s">
<option value="1"> Return false;</option>
<option value="0"> Return 0;</option>
</select>

<input type="submit" />
</form>

</body>
</html>
Живой пример:
 

комментарии:

 

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться