iPad Chrome - 在新窗口/选项卡中提交表单不起作用

Posted

技术标签:

【中文标题】iPad Chrome - 在新窗口/选项卡中提交表单不起作用【英文标题】:iPad Chrome - Submit form in new Window/Tab not working 【发布时间】:2016-08-12 14:20:22 【问题描述】:

我们开发 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 chrome 无法打开新/标签窗口,无法正常工作。

感谢任何建议, 谢谢

【问题讨论】:

【参考方案1】:
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')
    
  );

【讨论】:

以上是关于iPad Chrome - 在新窗口/选项卡中提交表单不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在html中如何链接表单提交以在新选项卡中打开并链接相对URL?

上传到 Chrome 应用商店后,扩展程序不会在新选项卡中打开多个链接

Chrome 扩展程序 - 在新打开的选项卡中不起作用

如果填写了特定字段,如何在新选项卡中提交表单,否则正常提交?

csharp 在新选项卡中打开窗口

捕获“在新选项卡中打开链接”和“在新窗口中打开链接”事件