Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Extjs表单提交_Javascript_Php_Extjs - Fatal编程技术网

Javascript Extjs表单提交

Javascript Extjs表单提交,javascript,php,extjs,Javascript,Php,Extjs,我一个小时又一个小时地寻找解决方案,但找不到。我想向PHPAPI函数提交一些东西。看起来是这样的: /*global Ext:false */ Ext.onReady(function () { var i = 0; var form = Ext.create('Ext.form.Panel', { title: 'base_entity_id', bodyPadding: 5, width: 350, defaultType: 'text

我一个小时又一个小时地寻找解决方案,但找不到。我想向PHPAPI函数提交一些东西。看起来是这样的:

 /*global Ext:false */

Ext.onReady(function () 
{

var i = 0;
var form = Ext.create('Ext.form.Panel', {

         title: 'base_entity_id',
    bodyPadding: 5,
    width: 350,

     defaultType: 'textfield',
    items: [{
        fieldLabel: 'base_entity_id',
        name: 'first',
        allowBlank: false
    }],
     buttons: [{
        text: 'Reset',
        handler: function() {
            this.up('form').getForm().reset();
        }
    }, {
        text: 'Submit',
        formBind: true,
        //only enabled once the form is valid
        disabled: true,
        handler: function() {
            var form = this.up('form').getForm();
          }
    }],

    })

var tabs = Ext.create('Ext.tab.Panel', 
{
    renderTo: 'tabs',
    id: 'tabs',
    itemId: 'tabs',
    fullscreen: true,
    renderTo: document.body,

    items: 
    [
        {
            title: 'Home',
            margin: 40,
            items: [form],

        },
        {
        title: 'Results',
        itemId: 'Results',
         listeners: 
            {
                activate: function (tab) 
                    {
                        if(i == 0)
                            {
                                    var panel = Ext.create('Ext.tab.Panel', 
                                    {
                                        id: 'tabs2',
                                        width: window,
                                        height: window,
                                        renderTo: document.body,
                                    items: 
                                        [
                                            {
                                                title: '1',
                                                itemId: '1',
                                                closable: true,
                                                html: '10329u9iwsfoiahfahfosaofhasohflhsalkfhoihoi3riwoifhoiashfkhasofhosahfsahfahsfosafoisaiohfaoishfoihsaoifasoifsaifhsaoifasoihfoiahsfoihasfoihasoifoisfoihsafoihasfoiasoihasfoihaoifhaoihfoiahfoiaoaffoafoiafsaoafohaoh'
                                            },
                                            {
                                                title: '2',
                                                itemId: '2',
                                                closable: true,
                                            }
                                        ]
                                                            })
                                            tab.add(panel);
                                            tab.doLayout();
                                            i = 1;
                                    }
                            }
                    }
    }]

})  
}))


但是当我提交时,我没有得到任何回应,有人能帮我吗?我不知道接下来的步骤是什么…

我用Ext JS/PHP完成了一个简单的应用程序,下面的代码对我很有用:

myFormPanel.getForm().submit({
    clientValidation: true,
    url: 'updateConsignment.php',
    params: {
        id: myFormPanel.getForm().getValues().first
    },
    success: function(form, action) {
       Ext.Msg.alert('Success', action.result.msg);
    },
    failure: function(form, action) {
        switch (action.failureType) {
            case Ext.form.Action.CLIENT_INVALID:
                Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
                break;
            case Ext.form.Action.CONNECT_FAILURE:
                Ext.Msg.alert('Failure', 'Ajax communication failed');
                break;
            case Ext.form.Action.SERVER_INVALID:
               Ext.Msg.alert('Failure', action.result.msg);
       }
    }
});
资料来源:

嗯,您没有为表单设置URL,而且“提交”按钮没有“提交”方法,因此我不确定这应该如何工作

您需要将
url
config添加到表单中:

Ext.create('Ext.form.Panel', {
    title: 'base_entity_id',
    method: 'POST',
    url: 'myBackEnd.php' // Or whatever destination you are using for your backend.
...
});
另外,我看到您正在使用
formbind:true
,然后检查表单是否有效,一个操作会使另一个操作变得不必要,因此选择一个,两个操作都不需要

将此选项添加到按钮处理程序:

form.submit({
    params: {
        id: form.getForm().getValues().first
    },
    success: function(form, action) {
        Ext.Msg.alert('Success', 'Your form was submitted successfully');
    },
    failure: function(form, action) {
        Ext.Msg.alert('Failed', action.result ? action.result.message : 'No response');
    }
});
然后您应该检查
$\u POST['id']


有关表单方法和配置的更多信息,请查看此文档:

请发布整个表单的代码,而不仅仅是“提交”按钮。这对我很有用!非常感谢。唯一的问题是,我如何给我的帖子命名?那么,我如何将输入值发布为$_post['id']例如?您可以将
params
添加到您的提交方法中,实际上,请检查文档:。这里都有描述。我已经在我的帖子中添加了
params
config,这样你就可以得到一个quik反应的示例.Ty。我想我说得不够清楚。de form的值必须在$_POST['id']变量中是的,你已经说清楚了,我只是想给你举个例子就足够了。你应该发送
参数:{id:yourfield\u value}。
我已经更新了我的帖子。很抱歉,我修复了它:)!谢谢你的帮助