Мне просто интересно, есть ли у кого-то какая-либо информация или отзывы о ситуации, в которой я нахожусь. В настоящее время я сталкиваюсь с проблемой "Двойной отправки формы", когда я нажимаю кнопку "Отправить" один раз, и она отправляет форму дважды.Это происходит только в IE9, но я тестировал только на Safari, Chrome (Latest), FF (Ver 5/6), IE8 и IE9.
Вот код:
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
<title>IE9 test</title>
</head>
<body>
<h1>Testing</h1>
<form method="POST" id="submit_form">
<input type="text" name="x" value="xxxx" />
<input type="text" name="y" value="yyyy" />
<button type="submit" class="btn_sign_in" id="btn_logon" onclick="this.disabled=true;document.forms[0].submit();">Submit</button>
</form>
</body>
</html>
Проблемная часть:
onclick="this.disabled=true;document.forms[0].submit();"
Код был на моем сайте целую вечность, и я впервые столкнулся с проблемой двойной отправки, так как IE9 только выпускает в этом году, и, вероятно, в эти дни большеи все больше людей используют IE9, и, следовательно, я получаю жалобы пользователей на эту проблему.
Самое сложное в том, что проблема двойного представления не всегда воспроизводима.Иногда он будет сдаваться дважды, иногда один раз.
Моя текущая работа заключается в изменении с:
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
и изменении на:
<meta http-equiv="X-UA-Compatible" content="IE=8" >
Это заставляетIE9, чтобы использовать совместимость с IE8, и он будет правильно выполнять Javascript для отправки.
Я позвонил в службу поддержки Microsoft, и они утверждают, что это «проблема совместимости с Javascript», поэтому нам нужно будет настроить наш Javascript направильно ли работает наш сайт под IE9 .. (Дух!)
В любом случае, мой код:
onclick="this.disabled=true;document.forms[0].submit();"
уже неверен с самого начала?Потому что, хотя другие браузеры не жалуются, но, вероятно, это не правильно начинать с?
Я надеюсь, если кто-то также сталкивается с подобными проблемами, есть дополнительная информация или отзывы.В настоящее время, если я не изменю X-UA-Compatible на IE = 8, я могу изменить свой код на:
onclick="this.disabled=true;"
Это также решит проблему двойной отправки, но есть ли список IE9Проблемы совместимости, на которые стоит обратить внимание?
Спасибо!