提交后重定向表单

时间:2013-10-25 13:58:54

标签: javascript php forms redirect

我用JS创建了一个提交表单,只是为了将变量发布到PHP:

entry.innerHTML= ' <form action="eLoad.php" method="post"> <input class="submitLink" type="submit" name="name" value='+uploaded[i][1]+'> </form>

它的工作原理但在我的php中我想将一个变量发送回JS。我正在使用Json但是每次提交时,表单都会提交到我的浏览器并输出php文件并回显浏览器上的任何JS文本。我想在我的php加载php和JS(json)之后重定向到另一个页面。

有任何帮助吗?感谢

4 个答案:

答案 0 :(得分:1)

听起来像发送AJAX请求并重定向回调函数就是您所需要的。 正如这里建议的那样,我也强烈建议使用现有的库。

例如,要使用jQuery,首先必须添加:

来包含它
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>

一旦你完成了并且可以使用该库,尝试这样的事情:

$.ajax({
  url: "eLoad.php"
}).done(function() {
  window.location = <url-to-redirect-to>;
});

最后要提到的是,调用jQuery的ajax函数时可以使用许多有用的参数,看看http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

我推荐一种AJAX解决方案。在http://api.jquery.com/jQuery.ajax/查看JQuery JavaScript库。使用AJAX,您可以动态地将内容(和发布表单)加载到您的网页中,而无需刷新页面。

编辑:示例代码:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).on('submit', 'form#my-form', function() {
        $.ajax({
          type: "post",
          data: $(this).serialize(),
          url: "my_page.php",
          success: function(response) {
            alert(response);
          }
        });
    });
</script>

答案 2 :(得分:0)

您在这里看到的是异步提交表单,也称为AJAX 我建议您采用现有的库为您做无聊的部分。

答案 3 :(得分:0)

访问此Lightweight JS AJAX library,你需要按照建议使用ajax,实现和使用jQuery将是最快的方法,但是要去zepto.js,mootools等其他选项。如果你想要为您的问题构建自己的解决方案对xmlhttp进行一些研究,请参阅此链接https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

您不必编写大量代码来执行此操作,但使用现成的库不会受到伤害。