как заставить document.forms [0] .submit () работать? - PullRequest
1 голос
/ 08 апреля 2011

После того, как я реализовал свое диалоговое окно в качестве меры предупреждения для пользователя, чтобы подтвердить отправку вместо прямой отправки при нажатии, мой document.forms [0] .submit () больше не работает.Страница обновится, и страница останется прежней.До того, как это диалоговое окно было создано, все работает отлично.в чем здесь проблема?

После:

  <script>
   //trigger dialog
 $('#submitIter').click(function(){
    $("#dialog-submit").dialog("open");
                return false
});

$("#dialog-submit").dialog({            
    autoOpen: false,
    resizable: false,
    height: 200,
    width: 200,
    modal: true,
    buttons: {
        "Proceed": function(){
            //submit after user clicks proceed cannot seem to work
            document.forms[0].submit();
            $(this).dialog("close");

        }
    }
});
   </script>

    <form action="{{ request.path }}" method="post" enctype="multipart/form-data">

      <input type="image" src="images/submit.png" id="submitIter">

    </form>

До:

<script> document.forms[0].submit() </script>

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Я думаю, что вы добавляете какую-то форму перед этим, попробуйте написать document.forms [1] .submit (); В любом случае, как я вижу, вы используете jQuery, так что вы можете написать это так:

<script>
   //trigger dialog
 $('#submitIter').click(function(){
    $("#dialog-submit").dialog("open");
                return false
});

$("#dialog-submit").dialog({            
    autoOpen: false,
    resizable: false,
    height: 200,
    width: 200,
    modal: true,
    buttons: {
        "Proceed": function(){
            //submit after user clicks proceed cannot seem to work
            $('#form_for_submit').submit();
            $(this).dialog("close");

        }
    }
});
   </script>

    <form id="form_for_submit" action="{{ request.path }}" method="post" enctype="multipart/form-data">

      <input type="image" src="images/submit.png" id="submitIter">

    </form>
0 голосов
/ 08 апреля 2011

Это может быть связано с областью видимости или, возможно, с другой формой, добавляемой диалогом Моим первым шагом отладки было бы обернуть document.forms [0] в предупреждение и посмотреть, возвращает ли он объект. Во-вторых, я бы дал тегу формы идентификатор для ссылки на его простоту, например. id = "mainForm", тогда вы можете сделать document.getElementById("mainForm").submit();

Или вы могли бы написать это, как предлагает другой ответ

$("#mainForm").submit();

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

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