2013-08-19 92 views
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形式的action屬性,然後提交它(到不同的url)。

我希望發生(在的jsfiddle)什麼是點擊提交按鈕應該加載的jsfiddle主頁,因爲/testing網址不存在點擊Submit2按鈕應加載一個404錯誤頁面。

這適用於Chrome(28.0.1500.95),但在Firefox(23.0.1)或IE(10.0.9200.16660)中不起作用。

這些瀏覽器都沒有在控制檯中顯示任何錯誤 - 我很難過。有任何想法嗎?

JSFiddle

編輯:我其實有克隆的形式,忘了提及。此外,這在Safari(v5.1.7)中正常工作。

回答

1

你需要以某種方式將其插入到DOM:

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

    form.submit(); 
} 

fiddle

對我的作品(FF 23.0)

+0

奇怪的是,小提琴沒有在IE中工作,但是當我將這個修補程序應用於我的實際程序時,它在所有瀏覽器中都能正常工作。謝謝! – Mansfield

0

您不需要clone()表單。試試這個:

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

Updated fiddle

+0

其實,我確實有另一個要求克隆表格(我應該提到這一點)。抱歉! – Mansfield