0

我想将一个值传递给一个 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>

对话框显示没有问题,但我的值不可用。我怎样才能传递这个值。我使用这种方法的原因是因为我想将对话框与开启器分离,以便在开启器重定向时它可以保留在那里。感谢您

4

2 回答 2

1

你错过了idinput field

<input type="hidden" name="theID" value="0">

应该

<input type="hidden" name="theID" id="theID" value="0">
于 2013-07-16T06:28:38.513 回答
0

您可以parent.$('#dialog1').data('v', myValue);在之前执行parent.openDialog1();,然后在对话框open event中访问它var v = $('#dialog1').data('v');

于 2013-07-16T06:28:58.187 回答