首页 文章

设置和检索iframe隐藏输入字段的值时遇到问题

提问于
浏览
0

我无法设置或检索iframe的隐藏输入字段信息 .

在初始页面上,我点击“提交”按钮激活showBox功能并成功传递三个参数,名称,城市和状态 . showBox创建一个弹出框,其中iframe应位于框的顶部并进行表单操作 . 我需要使用从showBox函数传递的值设置三个隐藏输入字段的值 . 这是showbox功能的代码 -

function showBox(name, city, state)
  {  
    var div = document.createElement('div');
    div.style.zIndex = 1;
    div.id = 'box';
    div.style.position = (navigator.userAgent.indexOf('MSIE 6') > -1) ? 'absolute' : 'fixed';
    div.style.top = '20px';
    div.style.left = (width / 2) - (900 / 2) + 'px'; 
    div.style.height = '500px';
    div.style.width = '400px';
    div.style.backgroundColor = 'white';
    div.style.border = '2px solid silver';
    div.style.padding = '20px';
    document.body.appendChild(div);  

    alert("Name: " + name + ", City: " + city + ", State: " + state);

    div.innerHTML = "<iframe id='infopage' src='" + 'info.html' + "' width='100%' height='95%'></iframe>";  

    // set value of the hidden input fields
    var myname = $("#infopage #hiddenname").val(name);
    var mycity = $("#infopage #hiddencity").val(city);
    var mystate = $("#infopage #hiddenstate").val(state);

        // check hidden input fields value - which come back blank so far
    alert("Name from hidden field: " + $("#hiddenname").val() + ", City from hidden field: " + $("#hiddencity").val() + ", State from hidden field: " + $("#hiddenstate").val()); 

    // create close window link
    var a = document.createElement('a');
    a.innerHTML = '

Close window'; a.href = 'javascript:void(0)'; a.onclick = function() { document.body.removeChild(document.getElementById('box')); }; div.appendChild(a); }

即使参数值成功传递给showBox函数,我仍然无法使用参数成功设置隐藏的输入字段值 .

同时,这是info.html的代码 -

<!DOCTYPE html>
<html>
<head>
  <title>Sample person information</title> 
    <style type="text/css" title="currentStyle">        
        @import "css/core.css"; 
    </style>
    <script type="text/javascript" language="javascript" src="js/jquery.js"></script>
    <script type="text/javascript" language="javascript" src="js/jsonreport.js"></script>   
    <script type="text/javascript" src="js/info.js"></script>
</head>
<body>
    <div id="container">
        <div class="full_width big" id="testname">
                
<!-- (it may take a while to load large files) --> </div>
<input type="text" name="hiddenname" id="hiddenname" value="" /> <input type="hidden" name="hiddencity" id="hiddencity" value="" /> <input type="hidden" name="hiddenstate" id="hiddenstate" value=""/> <input id="submit" type="button" value=" Enter " /> <div id="AjaxDiv"></div> </div> </body> </html>

单击“Enter”按钮时,将使用iframe中的隐藏字段值调用ajax函数 . 不知何故,我也很难从iframe中检索隐藏的输入字段值 .

1 回答

  • 0

    从你在这里发布的代码和fiddler,我看到没有调用showbox(),所以iframe永远不会被创建?

    也尝试用这个替换你的提交按钮(测试它是否有效)

    <input id="submit" type="button" onclick="alert(document.getElementById('infopage').src);return false;" value="  Enter  " />
    

相关问题