2012-01-17 61 views
0

中我試圖提交表單這是一個javascript變量

var form = $('.form').clone(); 
form.submit(); 

所以我想提出這是不準確的頁面上呈現,因爲它是從其他形式克隆的可變表單內的表單.. 。但我沒有看到任何跡象表明已提交表格

我的問題是......這個用例甚至可能在第一位?你可以使用jQuery來提交一個包含在一個JavaScript變量中的表單,並且實際上並未在頁面上呈現嗎?

如果沒有,是否有可能以某種方式調整它,以便您確實可以在變量內提交表單? (當然沒有在頁面上實際重新渲染它)

+0

做工精細這裏http://jsfiddle.net/mjYAm/4/ – 2012-01-17 15:40:42

回答

0

這是我如何在過去所做的那樣:

var form; 

form = document.createElement("form"); 
$(form) 
.attr("method", "post") 
.attr("style", "display: none") 
.attr("action", "your_url"); 

document.body.appendChild(form); 

form.submit(); 
$(form).remove(); 
0

我的猜測是不能提交一個不屬於活動DOM的表單(即不能作爲頁面的一部分「呈現」)。

您可以通過將頁面添加爲不可見元素(例如,樣式爲display:none的div的子元素)來解決此問題。或者,您可以從表單內容中創建。

0

在提交文檔之前,您需要將克隆的form元素附加到文檔正文。

但是,爲什麼你需要克隆和提交?無論如何,即使你把它附加到body並提交,頁面也會刷新。

爲什麼不用ajax來提交表單?

+0

存在形式的上傳文件字段,以便使用Ajax是難 – pillarOfLight 2012-01-17 15:37:03