我有一个表单,我希望显示一个带有对话框的部分。
但是,当我将表单内的div分配给对话框时,它将位于脚本的底部,而不再位于表单元素内部,因此我无法提交值。
像:
<form>
<div id="dialog_container"><input name="test"></div>
</form>
<script> $('#dialog_container').dialog();</script>
在这种情况下,div不会保留在表单标签中。
你会如何解决这个问题?
谢谢!
答案 0 :(得分:1)
将标记放入对话框容器中,如下所示:
<div id="dialog_container">
<form>
<input name="test">
</form>
</div>
修改强>
为什么不想将onChange事件添加到对话框中,然后将这些值以原始形式放入隐藏字段中,或者从对话框窗体中序列化json对象,然后将其放在隐藏字段中。
或强>
使用此css将该部分放入div:
#dialog_container {position:fixed;上:10px;左:10px;背景颜色:白色; display:none; }
用户点击打开对话框后,只需调用:$('#dialog_container')。show();
答案 1 :(得分:1)
我添加了同样的问题,我所做的是为每个对话框表单添加一个隐藏的输入。
然后在关闭对话框时,我可以用对话框中的值替换隐藏的输入。
类似的东西:
<div id="dialog_container">
<form id="dialog_form">
... any input ...
</form>
</div>
<form id="main_form">
<input type="hidden" id="test">
</form>
和javascript之类的东西:
$("#dialog_container").dialog({
close: function(ev, ui) {
var dialogInput // build inputs from dialogInputs
// you can even mix former inputs with new ones
$("#test").replaceWith( dialogInput )
}
});