我有以下代码:
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动态更改表单的action属性,然后将其提交(到另一个URL)。
我期望发生的事情(在JsFiddle中)是点击提交按钮应加载jsfiddle主页,点击Submit2
按钮应该加载404页面,因为/testing
网址没有存在。
这在chrome(28.0.1500.95)中工作正常,但在Firefox(23.0.1)或IE中不起作用(10.0.9200.16660)。
这些浏览器都没有在控制台中显示任何错误 - 我很难过。有什么想法吗?
编辑:我确实必须克隆表单,忘了提及。此外,这在Safari(v5.1.7)中工作正常。答案 0 :(得分:1)
您需要以某种方式将其插入DOM:
function Submit2() {
var form = $("#mainForm").clone();
form.attr("action", "/testing");
form.hide().appendTo('body');
form.submit();
}
适合我(FF 23.0)
答案 1 :(得分:0)
您不需要clone()
表单。试试这个:
var Submit2 = function() {
var form = $("#mainForm");
form.prop("action", "/testing");
form.submit();
}