0

我有以下代码:

html:

<form action="/" id="mainForm" method="get">
    <input type="text" name="val1" />
    <button id="cmdSubmit">Submit</button>
</form>
<button id="cmdSubmit2">Submit 2</button>

Javascript:

$("#cmdSubmit2").bind('click', function () {
    Submit2();
});

var Submit2 = function() {
    var form = $("#mainForm").clone();
    form.attr("action", "/testing");

    form.submit();
}

我正在尝试做的是使用javascript动态更改表单的操作属性,然后将其提交(到不同的url)。

我期望发生的事情(在 JsFiddle 中)是单击提交按钮应该加载 jsfiddle 主页,单击Submit2按钮应该加载 404 页面,因为/testingurl 不存在。

这在 chrome (28.0.1500.95) 中运行良好,但在 Firefox (23.0.1) 或 IE (10.0.9200.16660) 中不起作用。

这些浏览器都没有在控制台中显示任何错误——我很难过。有任何想法吗?

JSFiddle

编辑:我实际上必须克隆表格,忘了提。此外,这在 Safari (v5.1.7) 中也可以正常工作。

4

2 回答 2

1

您需要以某种方式将其插入 DOM :

function Submit2() {
    var form = $("#mainForm").clone();
    form.attr("action", "/testing");
    form.hide().appendTo('body');

    form.submit();
}

小提琴

为我工作(FF 23.0)

于 2013-08-19T14:15:40.987 回答
0

你不需要clone()表格。尝试这个:

var Submit2 = function() {
    var form = $("#mainForm");
    form.prop("action", "/testing");    
    form.submit();
}

更新的小提琴

于 2013-08-19T14:05:12.013 回答