如何在php中发布iframe中可用的字段值
如何在php中发布iframe值 例如: Username.php如何在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.
<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);