Javascript:自动提交表单发布数据,而不是重定向或刷新页面

时间:2015-04-20 22:02:39

标签: javascript jquery html ajax

我需要能够自动提交表单发布数据,而不是像我当前的代码那样重定向页面。我在这个问题上遇到的一切都涉及jquery和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>
</body>


<script>document.actionBalance.submit()</script>

</html>

5 个答案:

答案 0 :(得分:0)

$(document).ready(function() {
  $.post("action.php", {name: "value", name2: "value2", name3: "value3"});
});

答案 1 :(得分:0)

尝试这个,它应该工作:

<!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>

答案 2 :(得分:0)

另一个选项是iframe,所以当页面加载时,iframe会加载你的有效负载(你的表单带有你在问题中输入的javascript),表单将被提交。

答案 3 :(得分:0)

您需要使用这样的表单数据调用jquery post方法。

$(document).ready(function() {
   $.post( "action.php", $('form[name=actionBalance]').serialize() );
});

答案 4 :(得分:0)

我认为您在提交后正在寻找具有重定向的解决方案:

<!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>