jquery表单.submit()仅适用于Chrome

时间:2012-08-15 15:16:15

标签: jquery forms google-chrome submit

我正在尝试发布动态创建的表单,并在新窗口中查看结果, 它只适用于Chrome。 当命中该代码时,FF和IE都不会做任何事情。

$('<form>').attr({ method: 'POST', action: data.Url, target: '_blank' })
    .append($('<input>').attr({ type: 'hidden', name: 'Field1', value: data.field1Data }))
    .append($('<input>').attr({ type: 'hidden', name: 'Field2', value: data.field2Data }))
    .submit();

导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:5)

表单至少在IE中需要在文档中,可能在firefox中似乎也是如此:

$('<form>').attr({ method: 'POST', action: data.Url, target: '_blank' })
    .append($('<input>').attr({ type: 'hidden', name: 'Field1', value: data.field1Data }))
    .append($('<input>').attr({ type: 'hidden', name: 'Field2', value: data.field2Data }))
    .appendTo("body")
    .submit()
    .remove();

答案 1 :(得分:0)

首先尝试在html中附加表单,最后在调用submit()之前添加,例如:

.appendTo('body').submit();