1

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

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

任何帮助是极大的赞赏。谢谢!

4

2 回答 2

0

当你返回值时,这样做:

window.returnValue = vReturnValue;

使用小写returnValue,不要ReturnValue

此外,您的模式对话框没有关闭。要解决此问题,请将您的按钮更改为链接。

<a href="#" id="btnSaveImage" runat="server" target="_self" onclick="ReturnValue()">
        Save Image</a>
于 2012-05-19T04:08:43.327 回答
0

试试这个:

window.opener.document.getElementById("Input").value = getval;
于 2012-05-19T04:10:21.537 回答