Форма отправки с использованием jquery - PullRequest
0 голосов
/ 29 февраля 2012

Я написал функцию для отправки формы следующим образом:

$("#form").submit(function(){
    // do something
});

И форма представляется так:

document.formName.submit();

Это не вызывает мою функцию. Если я заверну форму в jquery, а затем отправлю ее, она будет работать нормально.

$(document.formName).submit();

Я думал, что привязка событий к объекту jquery dom также вызовет события на необработанном объекте dom. Но в этом случае этого не происходит.

Пример:

http://jsfiddle.net/aZasZ/1/

Ответы [ 3 ]

1 голос
/ 29 февраля 2012
document.formName.submit();

не вызывает событие, поскольку оно является фактическим элементом DOM, и не запускает никакие события,

, в то время как

$(document.formName).submit();

является функцией запуска событийв JQuery.

я бы предложил вам использовать

$('form').submit(); 

для отправки формы или

$('form').triggerHandler('submit') 

в случае, если вы хотите запустить только этот обработчик функции.

0 голосов
/ 29 февраля 2012

Возможно, вы просто неправильно указали свои идентификаторы.

Вот скрипка, демонстрирующая поведение, не стесняйтесь использовать это.

http://jsfiddle.net/aZasZ/

(я только что добавил $ ("# form"). Submit ())

0 голосов
/ 29 февраля 2012

Вы пробовали

$("form#myForm").submit();

и это весь код:

    <form id="MyForm" method="POST" action="">
        Field1:<input type="text" id="field1" value="" />
        Field2:<input type="text" id="field2" value="" />
        <input type="submit" value="send" />
    </form>

    <button id="ShowLink">Vai</button>
    <script type="text/javascript">
        $(document).ready(function () {
            $("form#MyForm").submit( function () {
              alert("Hello!");
              return(true);
            } );
        })
    </script>

ОБНОВЛЕНИЕ:

Чтобы достичь того, что вы пытаетесь сделать, вы можетеперезаписать функцию отправки.См. скрипка .
Кредиты для этого ответа .

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