onsubmit = "return false" не влияет на Internet Explorer 7/8 (форма все еще отправлена) - PullRequest
8 голосов
/ 02 ноября 2010

У меня есть форма, которая будет отправлена ​​с помощью кода javascript, запущенного в «onsubmit» тега. Прекрасно работает во всех браузерах, но не в IE7 / IE8.

Что я могу сделать?

<form action="/dosomething.htm" method="GET" onsubmit="submitmyform();return false">
  [...]
  <input type="submit" value="Go">
</form>

Ответы [ 14 ]

0 голосов
/ 08 апреля 2012

Если вы хотите, чтобы IE соответствовал стандартам, вам нужно будет указать ему, какой стандарт должен соответствовать в декларации.

Без него будет бесконечное разочарование, заставляя его делать то, что ты хочешь. С одним из них большая часть разочарований уходит, потому что он начинает работать как любой другой браузер.

0 голосов
/ 02 ноября 2010

Работает - посмотрите пример W3Scools (взят из) http://www.w3schools.com/js/js_form_validation.asp

<html>
<head>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {
    alert(alerttxt);return false;
    }
  else
    {
    return true;
    }
  }
}

function validate_form(thisform)
{
with (thisform)
  {
  if (validate_required(email,"Email must be filled out!")==false)
  {email.focus();return false;}
  }
}
</script>
</head>

<body>
<form action="submit.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>

</html>
0 голосов
/ 02 ноября 2010

Я думаю, что проблема в возврате false, вам нужно вернуть ее из функции 'onsubmit'

см. Пример

Эта форма также никогда не будет отправлена ​​в IE 7/8.

 <form action="acknowledgement.html" method="get" onsubmit="verify();">
        <input type="submit" name="submit"
         VALUE="Submit"> 
        </form>

<script language="javscript">
function verify(){

return false;
}
</script>

Дэнни.

0 голосов
/ 02 ноября 2010

Решением для нас было переместить событие javascript с «onsubmit» формы на «onclick» кнопки отправки.

<form action="/dosomething.htm" method="GET">
  [...]
  <input type="submit" value="Go" onclick="submitmyform();return false">
</form>
...