在不使用firefox的情况下提交表格


submitting a form in not working on firefox

尝试在javascript调用中创建和提交表单。这段代码在Chrome上运行良好,但在Firefox和IE上不起作用。我首先从Ajax调用(JSON)中获取值,然后将其作为表单提交

$('<form name="acsform" action="' + JSONobject.formacsurl +'" method="POST">' + 
  '<input type="hidden" name="PaReq" value="' +JSONobject.formpareq + '">' +
  '<input type="hidden" name="TermUrl" value="'+ JSONobject.formtermUrl +'">' + 
  '<input type="hidden" name="MD" value="'+ JSONobject.formmd +'">' +
  '</form>').submit();

有什么想法吗?

只是添加。。。当我提醒一些文本提交下面的一行时,我会在屏幕上看到提醒框。浏览器似乎可以很好地处理代码(甚至可能提交表单),但我并没有被重定向到表单action地址。我也没有得到任何JS错误。

再一次,它只在Firefox和IE上失败,Chrome可以很好地进行提交和重定向。

尝试此代码:

$(document).ready(function()
{
    /*
    *    IF IS APPEND, USE A ID OR CLASS
    */
    $('#X').append('<form id="myNewForm" class="myNewForm" method="post" action="">...</form>');
    $('#myNewForm').submit();
    //OR USE CLASS NAME
    $('form.myNewForm').submit();
    /*
    *    IF NOT APPEND, USE A ID OR CLASS
    */
    //USEA ID
    $('#myForm').submit();
    //USE A CLASS NAME
    $('form.my-form').submit();
    //USE A ELEMENT( ALL )
    $('form').submit();
});

再见!

坦率地说,我不确定stackoverflow上的问题是否可以通过评论来解决,是否可以通过回答自己的问题来解决,但我真的不想创建一个新的问题并复制这个的内容

我有这个代码,基于Olaf 的解决方案

    $('#basic-modal-content').append('<form id="acsform" name="acsform" action="' + JSONobject.formacsurl +'" method="POST">' + 
    '<input type="hidden" name="PaReq" value="' +JSONobject.formpareq + '">' +
    '<input type="hidden" name="TermUrl" value="'+ JSONobject.formtermUrl +'">' + 
    '<input type="hidden" name="MD" value="'+ JSONobject.formmd +'">' +
    '</form>');
    $('#acsform').submit();

这在IE、Firefox、Opera和Chrome上运行良好。但今天,我们收到一位客户的报告,说这个过程在他的ipad上不起作用。不幸的是,我无法获得他在ipad上使用的确切浏览器的信息(我自己也没有ipad可以查看),但这段代码似乎不起作用。日志中的最后一个操作是创建JSON对象的ajax操作,上面的js是在接收到该JSON后启动的。那是我的猜测。你知道吗?关于这个表单提交在ipad默认浏览器(无论是什么浏览器)上是一个问题

使用带有ID的本机submit()。

$('<form/>', {name:"acsform", id:"acsform", method:"POST", action: JSONobject.formacsurl})
.append(
  $('<input/>', {type:"hidden", name:"PaReq", value: JSONobject.formpareq}),
  $('<input/>', {type:"hidden", name:"TermUrl", value: JSONobject.formtermUrl}),
  $('<input/>', {type:"hidden", name:"MD", value: JSONobject.formmd})
).appendTo(document.body)
$("form#acsform")[0].submit()