我想将值传递给jquery对话框。由于多种原因,该页面位于iFrame中。该过程首先从iframe中的页面触发此函数:
<Tr onclick="fireOpen1(true,myValue)">
这是函数(在iframe页面中):
function fireOpen1(redirect,theValue) {
//here are two of the ways I have tried tp pass the value, neither work
parent.document.getElementById('theID').value = theValue;
parent.document.theForm('theID').value = theValue;
parent.openDialog1();
if (redirect) {
//do a redirect of the parent here
window.location.href = "left.asp";
}
}
调用父页面上的开启者:
function openDialog1() { // called by the inner iframe
$('#dialog1').dialog({
show: "fold",
hide: "explode",
width: 600,
height: 200,
buttons: {
Close: function () {
$(this).dialog("close");
}
}
});
}
这是我的div与对话框的内容:
<div id="dialog1" >
<form name="theForm" action="frames.asp" method="post">
<input type="hidden" name="theID" value="0">
</form>
the id is <%= request.form("theID") %> ...
</div>
对话框显示没问题,但我的值不可用。我怎样才能传递这个值。我使用这种方法的原因是因为我想从开启器中分离对话框,以便在开启器重定向时它可以保留在那里。谢谢你
答案 0 :(得分:1)
您错过了input field
<input type="hidden" name="theID" value="0">
应该是
<input type="hidden" name="theID" id="theID" value="0">
答案 1 :(得分:0)
您可以在parent.$('#dialog1').data('v', myValue);
之前执行parent.openDialog1();
,然后在对话open event
中访问var v = $('#dialog1').data('v');