ModalDialog的返回值始终未定义

时间:2012-05-19 03:56:53

标签: asp.net modal-dialog return-value undefined

由于某种原因,“模态对话框”返回的值始终为“未定义”。

我的主页(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变量就变为未定义。

非常感谢任何帮助。 谢谢!

2 个答案:

答案 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;