Почему я получаю исключение, когда я использую форму JQuery.Submit () в IE8? - PullRequest
0 голосов
/ 13 января 2012

Следующее прекрасно работает на FF и Chrome.На что жалуется IE8?

<!DOCTYPE html>
<html>
    <head>
        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js" type="text/javascript"></script>
        <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js" type="text/javascript"></script>
    </head>
    <body>
        <form action="http://www.thisurlisfake.com" id="myForm" method="post">
            <input type="text" id="myText" class="required" />
            <input type="submit" id="submit" name="submit" />
        </form>
        <script language="javascript" type="text/javascript">
            jQuery(document).ready(function () {
                jQuery("#myForm").validate(
                {
                    submitHandler: function (form) {
                        form.Submit();
                    }
                });
            })
        </script>
    </body>
</html>

Если вы НЕ вводите что-либо в текстовое поле, проверка JQuery работает и выводит предупреждающее сообщение.

Если вы делаете что-то в текстовое поле, JQueryПроверка успешна и вызывает мой код submitHandler.Очевидно, что я удалил всю свою лишнюю логику, но в основном в конце она предполагает вызов form.Submit ().

ОДНАКО, эта строка "form.Submit ();"генерирует «Ошибка: объект не поддерживает это свойство или метод»

Ответы [ 3 ]

3 голосов
/ 13 января 2012

Я не вижу, как это будет работать в любом браузере. Нет Submit метода. Javascript чувствителен к регистру. Вместо этого используйте submit.

2 голосов
/ 13 января 2012

изменение ID и name кнопки подтверждения.

Из документов :
Дополнительные примечания:
Формы и их дочерние элементы не должны использовать входные имена или идентификаторы, которые конфликтуют со свойствами формы, такими как submit, length или method. Конфликты имен могут привести к сбивающим с толку ошибкам.

0 голосов
/ 13 января 2012

Я не знаю точно, что вы пытаетесь сделать, но чтобы отправить форму, вы должны сделать что-то вроде:

$("form").on("submit", function(event){...});

или

$("form").submit(function(event){...});

в части {...}, которую вы проверяете, что бы вы ни проверяли, и, если вам это нужно, вы делаете запрос ajax:

$.ajax({...});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...