2011-07-27 71 views
2

不工作在我的JavaScript文件,我有一個代碼片斷,如:JQuery的.submit方法在Firefox

$('<form action="process.php" method="POST">' + 
'<input type="hidden" name="amp" value="' + calcJSON.totalAmpDay + '">' + 
'<input type="hidden" name="watt" value="' + calcJSON.maxWattRate + '">' + 
'<input type="hidden" name="dc_volt" value="' + document.number.dc_volt.value + '">' + 
'</form>').submit(); 

上面的代碼包含一個函數定義中。當我點擊一個按鈕時,該函數被調用,然後瀏覽器應該被重定向到具有一些POST數據的「process.php」頁面。 但只有Chrome重定向到新頁面,但Firefox不會。

如何解決此問題?

+1

您是否嘗試將DOM元素添加到頁面中,然後提交它?我的意思是分兩步做? – cpjolicoeur

+0

@cpjolicoeur - 好想法。另外,使用'.appendTo()'可以構建它,添加到DOM中,並使用單鏈提交。 – JAAulde

+0

是的。謝謝。有效。.appendTo()和.submit()鏈讓我的任務變得更加簡單:) – sul4bh

回答

3

大約一個星期前有同樣的問題。我堅持糾正,但我相信Firefox必須在提交之前將表單添加到DOM中。我通過將CSS設置爲「display:none」來解決此問題,並在運行submit方法之前將該表單添加到頁面上的任意元素。

1

警報(或執行console.log)的 - 提交表單之前

var formtext ='<form action="process.php" method="POST">' + 
'<input type="hidden" name="amp" value="' + calcJSON.totalAmpDay + '">' + 
'<input type="hidden" name="watt" value="' + calcJSON.maxWattRate + '">' + 
'<input type="hidden" name="dc_volt" value="' + document.number.dc_volt.value + '">' + 
'</form>' 
alert(formtext); 

字符串。字符串是否看起來像一個有效的表單定義?

0

就像一個好的建議一樣,用螢火蟲進行調試以查看錯誤並將其附加到討論中以查看實際發生的事情。這有助於查明問題和幫助。請參閱:firebug breakpoint