如何在php中发布iframe中可用的字段值

如何在php中发布iframe中可用的字段值,php,iframe,Php,Iframe,如何在php中发布iframe值 例如: Username.php <form action='data.php' method='post'> <input type='text' name='username' id='username'> <iframe src='password.php'></iframe> <input type='submit'> </form> Password.

如何在php中发布iframe值

例如: Username.php

    <form action='data.php' method='post'>
    <input type='text' name='username' id='username'>
    <iframe src='password.php'></iframe>
<input type='submit'>
</form>

Password.php

<input type='text' name='password' id='passwprd'>


我想将密码和用户名值发布到data.php

如果我正确理解了您的问题,您可以将用户名和密码存储在php会话变量中,然后可以从data.php中的会话变量中获取该数据。由于您有两个值,最好将它们存储在一个数组中,然后将该数组分配给会话。

您可以在没有会话或cookie的情况下使用纯javascript执行此操作。请为iframe提供一个id

<iframe id='iframePassword' src='password.php'></iframe>
您可以使用此选项访问iframe中的密码字段

var ifr = document.getElementById('iframePassword');
var password = ifr.contentWindow.document.getElementById('passwprd').value;
现在使用
用户名
密码
进行ajax调用

试试这个

<form action='data.php' method='post'>
        <input type='text' name='username' id='username'>
        <iframe id="iframe_pass" src='password.php'>

        </iframe>

        <input id="submit" type='button' value="submit">
    </form>
<p id="password_from_frame"></p>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
        $("#submit").on('click', function(){

            var pass_field = $("#iframe_pass").contents().find("#password");
            var username = $("#username");

            var data = {username : username.val(), password : pass_field.val()};
// make an ajax call to submit form
            $.ajax({
                url : "data.php",
                type : "POST",
                data : data,
                success : function(data) {
                    console.log(data);
                    alert(data);
                }, 
                error : function() {

                }
            });


        });
// you can use keyup, keydown, focusout, keypress event
    $("#iframe_pass").contents().find("#password").on('keyup', function(){

        $("#password_from_frame").html($(this).val());


    });

    </script>

除了此会话,还有其他解决方案吗?我只知道会话以外的Cookie。。。对不起,我不知道是否有其他解决方案。。。但正如我所知,我们无法使用POST通过URL传递数据……如果您再次使用JavaScript获取值,那么将密码部分放在iframe中有什么意义呢?@SimonH最好问问发布问题的人。解决他的问题的答案是:-)这就是一个例子。我的应用程序有近50个字段。不可能提及所有这些。所以我通过一个例子解释说,有人恨你,我想我还有一个问题。在更改id密码时,我希望在主页中显示值。
<form action='data.php' method='post'>
        <input type='text' name='username' id='username'>
        <iframe id="iframe_pass" src='password.php'>

        </iframe>

        <input id="submit" type='button' value="submit">
    </form>
<p id="password_from_frame"></p>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
        $("#submit").on('click', function(){

            var pass_field = $("#iframe_pass").contents().find("#password");
            var username = $("#username");

            var data = {username : username.val(), password : pass_field.val()};
// make an ajax call to submit form
            $.ajax({
                url : "data.php",
                type : "POST",
                data : data,
                success : function(data) {
                    console.log(data);
                    alert(data);
                }, 
                error : function() {

                }
            });


        });
// you can use keyup, keydown, focusout, keypress event
    $("#iframe_pass").contents().find("#password").on('keyup', function(){

        $("#password_from_frame").html($(this).val());


    });

    </script>
<input type='text' name='password' id='password'>
print_r($_POST);