Javascript:自动提交表单post数据,不重定向或刷新页面
我需要能够自动提交表单后的数据,而不是像在我目前的代码页面重定向。我在这个主题上遇到的一切都涉及jquery和ajax。我就是不能用他们的例子得到一个有效的版本 以下是我当前的工作页面,可重定向:Javascript:自动提交表单post数据,不重定向或刷新页面,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我需要能够自动提交表单后的数据,而不是像在我目前的代码页面重定向。我在这个主题上遇到的一切都涉及jquery和ajax。我就是不能用他们的例子得到一个有效的版本 以下是我当前的工作页面,可重定向: <!DOCTYPE html> <html> <head> <title>Does it work?</title> </head>` <body> <form name="actionBalance" m
<!DOCTYPE html>
<html>
<head>
<title>Does it work?</title>
</head>`
<body>
<form name="actionBalance" method="post" action="action.php">
<input type="hidden" name="name" value="value2">
<input type="hidden" name="name2" value="value2">
<input type="hidden" name="name3" value="value3">
</form>
</body>
<script>document.actionBalance.submit()</script>
</html>
试试这个,它应该可以工作:
<!DOCTYPE html>
<html>
<head>
<title>Does it work?</title>
</head>
<body onload="document.createElement('form').submit.call(document.getElementById('actionBalance'))">
<form id="actionBalance" name="actionBalance" method="POST" action="action.php">
<input type="hidden" name="name1" id="name1" value="value1" />
<input type="hidden" name="name2" id="name2" value="value2" />
<input type="hidden" name="name3" id="name3" value="value3" />
<input type=hidden name="submit" id="submit" value="Continue"/>
</form>
</body>
</html>
另一个选项是放置一个iframe,因此当页面加载时,iframe用您在问题中输入的javascript加载您的有效负载,表单将被提交。您需要用表单数据调用jquery post方法,如下所示
$(document).ready(function() {
$.post( "action.php", $('form[name=actionBalance]').serialize() );
});
我认为您正在寻找提交后立即重定向的解决方案:
<!DOCTYPE html>
<html>
<head>
<title>Does it work?</title>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script>
$(document).ready(function(){
$('form').submit();
});
</script>
</head>
<body>
<form name="actionBalance" method="post" action="action.php">
<input type="hidden" name="name" value="value2">
<input type="hidden" name="name2" value="value2">
<input type="hidden" name="name3" value="value3">
</form>
</body>
</html>
尝试用此替换整个脚本,并让我知道这是否是您想要的:-
编辑:如果您只需要这段脚本,那么jquery可能是一个过分的工具,因为它是一个巨大的库。下面是纯javascript:
<!DOCTYPE html>
<html>
<head>
<title>Does it work?</title>
</head>
<body>
<form name="actionBalance" method="post" action="action.php">
<input type="hidden" name="name" value="value2">
<input type="hidden" name="name2" value="value2">
<input type="hidden" name="name3" value="value3">
</form>
<script type="text/javascript">
var form = document.getElementsByName('actionBalance')[0];
form.submit();
</script>
</body>
</html>
在没有AJAX的情况下,如果不重新加载/提交页面,就无法做到这一点。是的,唯一不重新加载页面的方法是使用JavaScript AJAX请求。你试过了吗?AJAX就是为了这个目的而创建的。使用它。
<!DOCTYPE html>
<html>
<head>
<title>Does it work?</title>
</head>
<body>
<form name="actionBalance" method="post" action="action.php">
<input type="hidden" name="name" value="value2">
<input type="hidden" name="name2" value="value2">
<input type="hidden" name="name3" value="value3">
</form>
<script type="text/javascript">
var form = document.getElementsByName('actionBalance')[0];
form.submit();
</script>
</body>
</html>