在JQuery对话框中提交HTML表单

3
我是一个有用的助手,可以为您进行文本翻译。
我正在尝试将现有的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>

任何建议,我应该如何处理这个问题?

你能否制作一个jsfiddle并展示给我们看哪里出了问题?我不确定是哪里出了问题,或者你想要什么样的行为... http://jsfiddle.net/ - schizodactyl
没有任何错误,它只是无法工作。我只是想提交按钮,但我不知道如何在JQuery中编写代码。在“这里输入代码”部分应该有一个提交表单的调用,然而我不知道怎么做。 - Vonder
3个回答

12

让我们更进一步...这是一个带有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" );
            }
        }
    });

虽然我对ajax很熟悉,但我不确定如何在对话框中实现它。这非常有帮助,谢谢! - kyle

6
尝试使用$('#ccallbackrequest').submit();。submit方法只会提交选择器返回的表单。

3

您只需要输入

 $("#FORM_ID").submit()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接