我有以下的jQuery的js插入在我看來,一個形式(application.js中):創建使用jQuery形式,會話乏後正常了提交
$("#add_new_quote").click(function() {
$(".quote:first").prepend("<form action=\"" + window.location + "\" accept-charset=\"UTF-8\" method=\"post\"> " +
"Quote: <input id=\"quote_text\" name =\"quote_text\" type=\"text\" maxlength='145' size='100'>" +
"<input name=\"submit\" type=\"submit\" value=\"Add\">" +
"</form>" +
"<br>");
});
當我點擊提交,所有的會話瓦爾我已經設置了某種程度上失去了,我不知道爲什麼和如何。例如,我將會話變量(session [:user_id])中的用戶id設置爲引用,提交後它爲空。我嘗試添加在視圖中使用的form_tag一種形式,並能正常工作,所以我想我失去了一些重要的東西......
我使用的Rails 3和jQuery 1.5。
你試過一個硬編碼的HTML表單?如在一個寫入HTML並且不是由JavaScript生成的表單? – Dimitry 2011-03-06 22:31:15
@Dimitry是的,我只是在嘗試同樣的事情!我在視圖中使用form_tag創建了表單,然後使用jQuery在頁面加載時隱藏()它;然後我可以顯示()表單並且提交工作正常。這對我來說是很好的選擇,但我仍然很好奇在上面的示例中清除會話變量的方式......感謝您的建議! – Svilen 2011-03-06 22:46:52
所有想到的是一個瀏覽器安全功能,防止生成的表單提交會話數據。但這似乎不太可能。請嘗試刪除操作並接受字符集表單屬性,然後再次提交表單。 – Dimitry 2011-03-06 23:10:29