iPad Chrome - 在新窗口/标签中提交表单无效

时间:2016-08-12 14:20:23

标签: javascript ios google-chrome ipad extjs

我们开发c#.NET应用程序,javascript并使用EXTJS(6.0.2)。 应用程序适用于PC平台上的所有浏览器 但对于iPad Chrome,我们在新窗口/标签中提交表单时遇到问题 新窗口/标签不会打开。

这是代码......

test.init = function (config) {

    var submitButtonHandler = function (scope, eArgs) {
        var params = {
            q: 'test',
        };

        submitForm.submit({
            params: params
        });

    }


    var action = 'https://www.google.com/';
    var hiddenFormValues = Ext.create('Ext.Component', {});
    var submitForm = Ext.create('Ext.form.Panel', {
        autoEl: {
            tag: 'form',
            method: 'post',
            target: '_blank',
            action: action
        },
        buttons: [{
            text: 'Click to test',
            handler: submitButtonHandler,
            exportMethod: 'openhtml',
            xtype: 'TestButton'
        }],

        submit: function (config) {
            config.params = config.params || {};
            var keys = Object.keys(config.params);
            var html = '';
            for (var i = 0; i < keys.length; i++) {
                var key = keys[i];
                var value = config.params[key];
                if (typeof (value) === "string") value = value.replace(/'/g, "&#39;");
                html += '<input type="hidden" name="' + key + '" value=\'' + value + '\'/>';
            }
            alert(html);
            hiddenFormValues.update(html);
            alert(this.id);
            document.getElementById(this.id).submit();
        }

    })

    return submitForm;
}

对于PC chrome,打开新标签窗口就好了

但是,对于iPad镀铬将无法打开新的/标签窗口,无法正常工作。

任何建议表示赞赏, 谢谢

1 个答案:

答案 0 :(得分:0)

if (form.isValid()) {
  form.submit({
    url: 'http://localhost:8080/WAR_project/rest/service/ticket/uploadfile',
    waitMsg: 'Uploading Please Wait...',
    method: 'POST',                    
    success: function (r, a) {
      console.log('success message here')
    },
    failure: function (r, a) {                    
      console.log('failure message here')
    }
  });
}