由于某种原因,“模态对话框”返回的值始终为“未定义”。
我的主页(aspx):
<%@ Page Title="Home Page" Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<html>
<head></head>
<body>
<script type="text/javascript">
function openWindows () {
var getval;
getval = window.showModalDialog('../WebSite/popups/uploader.htm');
document.getElementById("Input").value = getval;
}
</script>
<input id="Input" runat="server" />
<input type="button" id="Button1" runat="server" onclick="openWindows()" value="Choose Image"/>
</form>
</body>
</html>
所以在这种情况下,getval的值总是“未定义”
我的对话框(HTML)代码:
<html>
<head>
<script type="text/javascript">
function ReturnValues() {
var objfile = document.getElementById("fileup").value
document.getElementById("TxtInput").value = objfile
var vReturnValue = document.getElementById("TxtInput").value;
window.ReturnValue = vReturnValue;
window.close();
}
</script>
</head>
<body>
<form id="Formuploader" method="post" runat="server">
<input id="TxtInput" type="hidden" runat="server" /><br />
<button id="btnSaveImage" runat="server" onclick="ReturnValues()">Save Image</button>
</form>
</body>
</html>
这里,ReturnValue确实具有所需的值。但是一旦ModalDialog关闭,主窗口中的getval变量就变为未定义。
非常感谢任何帮助。 谢谢!
答案 0 :(得分:0)
当你返回值时,这样做:
window.returnValue = vReturnValue;
使用小写returnValue
,而不是ReturnValue
。
另外,你的模态对话框没有关闭。要解决此问题,请将按钮更改为链接。
<a href="#" id="btnSaveImage" runat="server" target="_self" onclick="ReturnValue()">
Save Image</a>
答案 1 :(得分:0)
试试这个:
window.opener.document.getElementById("Input").value = getval;