尝试在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()