Javascript форма отправить вопрос - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть html-форма на моей веб-странице, которая содержит изображение, которое при нажатии вызывает диалоговую страницу.Тем не менее, отправка формы запускает и заставляет произойти.Как я могу предотвратить это?

<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>

Ответы [ 4 ]

2 голосов
/ 07 апреля 2011
$('form').submit(function(){
  $("#dialog-submit").dialog("open");
  return false;
});

вместо обработчика щелчков и измените тег ввода на тег отправки.

2 голосов
/ 07 апреля 2011
<form onsubmit="return false">

Это должно сработать.

1 голос
/ 08 апреля 2011
<script>
     //trigger dialog
     $('form').submit(function(){
        return $('form').data('confirmed') === true;
    });

    $('#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').data('confirmed', true);
                $('form').submit();
                $(this).dialog("close");
            }
        }
    });
</script>

По сути, установите переменную для объекта данных формы, которая будет готова для фактической отправки на сервер, с помощью кнопки продолжения. Если переменная еще не существует, функция submit вернет false, что позволит открыть ваш диалог. Если это было подтверждено с помощью кнопки «Продолжить», форма будет отправлена.

Я не тестировал этот код, но если он не работает, надеюсь, вы поймете концепцию.

1 голос
/ 07 апреля 2011
$('#submitIter').click(function(e){
    e.preventDefault(); // prevents default button action
    $("#dialog-submit").dialog("open");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...