如何使用.load()提交加载到对话框中的php / html表单

时间:2011-09-12 08:08:05

标签: jquery-ui

我试图了解jquery。有点慢,可能是因为我来自COBOL背景。

我像我一样学习,而不仅仅是阅读。 php,jquery对我来说都只是爱好

我曾经有过这些更新表单页面。我想尝试将它们放在对话框中。

我尝试使用带有I帧的Dialog,我不喜欢它,iframe加载非常慢,加载的页面包含jquery选项卡,加载速度更慢。还有其他几个问题。

所以我试图摆脱iframe。我剥离了页面并保留了肉(我的php / html文件的主体)(减去了body标签),所以现在我将我的Form的一个简短版本加载到对话框中,它加载得很漂亮,看起来很棒。

接下来我想提交我的数据,这是我有点失落的地方....

我正在拜访我必须使用Ajax,但是从Ajax返回时,我收到了OK / Fail消息。

我的提交按钮不是jquery对话框按钮,它们必须是这样吗?

我必须使用按钮:

{
     "Save" : function () {
          .....
     "Close" : function () {
          $(this).dialog("close");
          .....
}     

这些都是丑陋的,我对放置它们的位置和外观的控制较少。

1 个答案:

答案 0 :(得分:0)

您需要做的就是确保对话框中有一个表单。 ,在表单上添加一个监听器。假设你有

<form id="myForm">
    <input id="myInput" name="myName" type="text" />
</form>

然后你会添加一个监听器:

$("#myForm").die().live('submit',function(e) {
    e.preventDefault();
    $.ajax({
        type : POST,
        url : localhost:8080/myUrl,
        dataType : 'json',
        cache: false,
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        data : $("#myForm").serialize(),
        success : function(){ //do what you want here, like displaying validation errors...},
        error:function (xhr, ajaxOptions, thrownError){ //manage ajax errors}
    });

    return false;
});

所以你的保存按钮只是一个简单的输入类型=“提交”

玩得开心!