用ExtJS提交表格的奇怪问题

时间:2011-12-21 01:41:50

标签: forms extjs submit

我现在用ExtJS工作了一段时间,从来没有提交表单的问题。但是现在有一个表单没有对php文件进行POST调用。而且让我失败了。

onSaveBtn : function() {
    var formPanel = this.getComponent('planillaForm');

    if (formPanel.getForm().isValid()) {
        var vals = formPanel.getValues();

        var msg = String.format(
            this.msgs.saving,
            vals.codigo
            );

        this.el.mask(msg, 'x-mask-loading');

        formPanel.getForm().submit({
            url     : 'sistema/planilla/setPlanilla.php',
            scope   : this,
            success : this.onFormSaveSuccess,
            failure : this.onFormSaveFailure
        });
    }
    else {
        Ext.MessageBox.alert(
            'Error!',
            this.msgs.errorsInForm
            );
    }
}

我一直使用这个“模板”进行表单提交,但它从未失败过。我不知道发生了什么,但他从未做过POST,它跳转到失败函数“onFormSaveFailure”。我已经更改了网址而没有。我不知道该怎么办,我有点匆忙。请帮忙。

1 个答案:

答案 0 :(得分:1)

可能会发生很多事情之一。您需要进一步调试它。这些是我要做的步骤:

  1. 确保网址有效。我会用fiddler(或类似的程序)来查看我的请求。确保我尝试提交的网址有效。可能存在的问题是您正在使用网址的相对路径,它使用当前网址作为上下文。

  2. 确保php文件被点击(断点,打印语句......)。

  3. 确保php文件没有崩溃,从服务器端抛出的异常会导致调用失败函数。

  4. 确保php文件返回表示成功的内容。如果返回的JSON字符串具有{success:false},则该请求将被视为失败。

  5. this.onFormSaveFailure函数接受2个参数:“form”和“action”,“action”对象有一个“failureType”,使用javascript调试器来查看它的值。