jQuery dialog form 提交 后台不能取值的解决办法
1.众所周知,被jQuery dialog处理后,相应的模块是加到body上的,不在form里,提交form的时候,后台获取不到数据。
2.解决方法:
利用隐藏变量,即:在form里定义隐藏变量,dialog响应事件后,为隐藏变量赋值,这样form提交,可将隐藏变量带到后台。
3.例:
<html>
<head>
<script type="text/javascript" src="jquery-ui-1.10.3.custom/js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.js"></script>
<link rel="stylesheet" type="text/css" href="jquery-ui-1.10.3.custom/css/ui-lightness/jquery-ui-1.10.3.custom.css"/>
</head>
<body>
<script>
$(function(){
$('#dialogDiv').dialog({
modal:true,
autoOpen:false,
width: 300,
height:216,
resizable:false,
position:"center",
buttons: {
'确定': function() {
$('#id').val($('#dialogId').val());
$('#name').val($('#dialogName').val());
$(this).dialog('close');
},
'取消': function() {
$(this).dialog('close');
}
}
});
$.openDialog = function() {
$('#dialogDiv').dialog('open');
}
$.show = function() {
alert('form中id的值:' + $('#mainForm #id').val());
alert('form中name的值:' + $('#mainForm #name').val());
alert('form提交后,后台可获取id、name的值');
}
})
</script>
<form id="mainForm">
<input type="hidden" id="id"/>
<input type="hidden" id="name"/>
<input type="button" value="打开对话框" onclick="$.openDialog()"/>
<input type="button" value="查看" onclick="$.show()"/>
<div id="dialogDiv" title="test">
<input type="text" id="dialogId"/><br/>
<input type="text" id="dialogName"/>
</div>
</form>
</body>
</html>4.问:如果内容很多,要定义多个隐藏变量?
答:那不适合用dialog
相关推荐
apowerfulman 2020-03-03
hustlei 2011-03-03
Mexican 2011-08-31
larrywangsun 2011-08-09
TTHHVV 2011-09-28
87384559 2014-11-11
xuewenke 2015-11-04
火星的你 2015-10-25
王磊的程序员之路 2019-06-19
攻城师 2019-06-28
89453862 2016-05-13
SinhaengHhjian 2015-11-04
sunnylinner 2014-11-11
jquery easyui dialog可以两种方式使用1)定义div,使用iframe<div id="openRoleDiv" class="easyui-window" closed="true
无情 2014-09-20
hanliuxinming 2014-05-30