我正在尝试创建单个页面CRUD。 现在,我遇到了show函数的一些错误。对话框在页面刷新后显示为div
应用的例子可以在这里找到: http://tryoutcreation.herokuapp.com/
这似乎工作好吗。 创建后,如果页面未刷新,则show函数将正常工作。
但是,如果它被刷新,对话框将停止作为对话框工作,并只显示为div。
您可以通过创建用户并单击显示功能来尝试。然后尝试刷新页面,相同的div将仅显示在页面上而不是对话框中。
源可以在这里找到: https://github.com/frozzie/ModalCrud
相关代码:
的对话框显示形式。
<tr id = "<%= dom_id user%>">
<td><%= user.user_name %></td>
<td><%= user.email %></td>
<td><%= user.password %></td>
<td><%= user.account_type %></td>
<td><%= link_to 'Show', user, :remote=>true%></td>
<td><%= link_to 'Edit', edit_user_path(user), :remote => true %></td>
<td><%= link_to 'Destroy', user, :remote => true, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
<div id = "show-form" title="User Information">
<p>
<b>User name:</b>
<%= user.user_name %>
</p>
<p>
<b>Email:</b>
<%= user.email %>
</p>
<p>
<b>Password:</b>
<%= user.password %>
</p>
<p>
<b>Account type:</b>
<%= user.account_type %>
</p>
</div>
</tr>
它应该只在点击显示按钮时打开。 $(“#show-form”)。dialog(“open”);
这是对话框。
$("#show-form").dialog({
autoOpen: false,
height: 400,
width: 350,
modal: true,
closeOnEscape: true,
resizable:false,
buttons: {
Cancel: function() {
$(this).dialog("close");
}
}
})
任何关于为什么发生的想法将不胜感激。
好像你有多个元素'#show form' for – EricG
当你创建页面时,你是否生成了带有内容的表单div,或者你是否填写了空的表单? – jaudette
是的,我确实有#show-form的多个元素,那会是问题吗? –