1
對不起,如果這是一個愚蠢的問題,但我不能得到它的工作。我正在嘗試在對話框中獲取表單。形式是一個AJAX請求的結果,所得js.erb文件看起來像:使用Rails/ERB在Jquery UI對話框中創建表單
$(function() {
$('#add_tag').html(
"<fieldset>"
"<%= escape_javascript(form_tag(save_tag_path(:id=>@recipe.id), :remote=>true) do) %>" +
" <%= escape_javascript(label_tag(:new_tags, 'Your tags separated by commas')) %>" +
" <%= escape_javascript(text_field_tag :new_tags) %>" +
" <%= escape_javascript(submit_tag :submit) %>" +
"<% end %>" +
"</fieldset>"
);
$('#add_tag').dialog({
title: "Add Tags",
height: 300,
width: 350,
modal: true
}
);
});
我知道形式的語法是好的,因爲它的工作原理對話外。我假設它沒有被正確轉義?提前致謝!
更新:我刪除了$(函數(){}包裝本·辛普森正確地指出,但是,我還是什麼也沒得到我的面板使用ERB呈現以下是我現在有:。
$('#add_tag').html(
"<fieldset>"
+ "<%= form_tag(save_tag_path(:id=>@recipe.id), :remote=>true) do %>"
+ " <%= escape_javascript(label_tag(:new_tags, 'Your tags separated by commas')) %>"
+ " <%= text_field_tag :new_tags %>"
+ " <%= submit_tag :submit %>"
+ "<% end %>"
+ "</fieldset>"
);
$('#add_tag').dialog({
title: "Add Tags",
height: 300,
width: 350,
modal: true
}
);
但如果我只是把在軌道使得它的形式工作即:
$('#add_tag').html(
"<fieldset>"
+ '<form method="post" data-remote="true" action="/recipes/1/save_tag" accept-charset="UTF-8">'
+ '<div style="margin: 0pt; padding: 0pt; display: inline;">'
+ '</div>'
+ '<label for="new_tags">Your tags separated by commas</label>'
+ '<input id="new_tags" type="text" name="new_tags">'
+ '<input type="submit" value="submit" name="commit">'
+ '</form>'
+ "</fieldset>");
啊,是的。我沒有想到DOM:加載。然而,即使被刪除,我什麼也得不到。但是,如果我只用表單標籤來切換erb代碼,那麼它就可以工作。感謝你目前的幫助! –
加載此AJAX響應後,如果在Javascript控制檯中執行$('#add_tag')。html(),您是否看到任何HTML?我懷疑你會看到
是的!這解決了它! –