Отправка HTML-формы в диалоге JQuery - PullRequest
3 голосов
/ 07 апреля 2011

Я пытаюсь преобразовать существующую форму HTML и заставить ее появиться в диалоговом окне JQuery. Я не уверен, как изменить код, чтобы данные отправлялись после нажатия кнопки отправки. Мой код выглядит следующим образом:

Старая форма:

<form method="post" name="callbackrequest" id="ccallbackrequest" action="action.php" onsubmit="return validateThis(this)">

<button type="submit" class="submit">Submit Request</button>

Новая форма:

buttons: {
                "Submit": function() {
if ( bValid ) {

        HERE GOES THE CODE!

        $( this ).dialog( "close" );
              }

Тогда есть новая форма:

<form class="center" method="post" name="callbackrequest" id="ccallbackrequest" action="??">
 fields listed
no submit button
</form>

Какой-нибудь совет, как мне справиться с этим?

Ответы [ 3 ]

11 голосов
/ 07 апреля 2011

Давайте сделаем еще один шаг ... вот диалоговая форма для отправки с ajax!

<form id="modalform" style="display:none">
     <input type="text" name="something">
     <input type="text" name="somethingelse">
</form>




$("#modalform").dialog({                                                            //Shows dialog
        height: 250,
        width: 450,
        modal: true,
        buttons: {
            "Cancel": function() {
                $( this ).dialog( "close" );
            },
            "Save": function() {
                $.ajax({
                    url: "/url/to/submit",                   //
                    timeout: 30000,
                    type: "POST",
                    data: $('#modalform').serialize(),
                    dataType: 'json',
                    error: function(XMLHttpRequest, textStatus, errorThrown)  {
                        alert("An error has occurred making the request: " + errorThrown)
                    },
                    success: function(data){                                                        
                         //Do stuff here on success such as modal info      
                             $( this ).dialog( "close" );
            }
        }
    });
5 голосов
/ 07 апреля 2011

Попробуйте $('#ccallbackrequest').submit();. Метод submit просто отправляет любую форму, возвращаемую селектором.

3 голосов
/ 07 апреля 2011

Вам просто нужно вставить

 $("#FORM_ID").submit()
...