使用jquery或javascript在外部iframe中设置输入字段值

时间:2018-08-18 16:08:02

标签: javascript jquery

我强烈面临iframe问题。我需要在其他网络端的输入字段中设置值。我发布代码。我已经在检查 contentDocument (返回null)和 contentWindow 不起作用(捕获错误),有人帮助我。

我正在跟踪链接https://www.w3schools.com/jsref/prop_frame_contentwindow.asp

但是我并不成功。当我检查console.log($('[name=name]'))浏览器控制台后,却使用了console.log($('[name=name]').value=4),然后报错。

当浏览器控制台测试使用相同的代码($('[name=name]').value=4)时,有时会设置值,有时会出错。

完整的代码发布供您测试

<html>
<head>
    <style>
    iframe{
        border: none;
        width: 100%;
        height: 100%;
    }
    </style>        
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
    <!-- <script  src="script/jquery-1.10.2.js?id=12"></script> -->
    <script>
        window.onload=function(){
            $("#btnLoad").on("click",function(){
                document.getElementById('ifUrl').src=$("#txtUrl").val();
                $("#btnFill").prop('disabled', true);
                document.getElementById("ifUrl").onload=function(){ 

                    setTimeout(function(){ $("#btnFill").prop('disabled', false); }, 5000)
                        $("#btnFill").on("click",function(){
                        var iframe = document.getElementById("ifUrl");
                        var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
                        //var text = $("#ifUrl").contents(); 
                        console.log(innerDoc);
                        //console.log($('#ifUrl'))
                        });
                    };

                //alert($("#txtUrl").val());
                // $("#ifUrl").load(function() {
                //    alert()
                //     //alert($(this).contents().find("html"))
                // });

            });


        }


    </script>
</head>
<body>
    <div>URL: 
        <input type="text" id="txtUrl" value="https://www.dsebd.org/contact.php"/>
    </div>
    <div>
        <button id="btnLoad" type="button">Load Url</button>
        <button id="btnFill" type="button" disabled="true">Fill Up</button>
    </div>
    <div>
        <iframe id="ifUrl">

        </iframe>
    </div>
</body>

0 个答案:

没有答案