将表单发布到更多URL

时间:2011-11-06 00:50:10

标签: php javascript forms

有没有办法将表单发布到更多网址?
我需要在javascript .. 例如:我有两个文件:1.php和2.php ..我希望表单将数据发布到这两个文件,但是转到1.php .. 你知道吗?

4 个答案:

答案 0 :(得分:5)

您需要一个包含动作“1.php”和jQuery的表单。

$('#form_id').submit(function(event){
    event.preventDefault();

    var $th = $(this);

    $.ajax({
        type: 'post',
        url: '2.php',  // note: edited by Ryan
        data: $th.serialize(),
        success: function(){
            $th.submit();
        }
    });
});

答案 1 :(得分:1)

使用JavaScript,是的

您需要使用JavaScript中提供的XMLHttpRequest函数进行一次调用,以对php.2脚本进行AJAX调用。然后可以使用document.forms["FORMNAME"].submit()完成第二次调用。

jQuery's Ajax functions这样的库使得使用XMLHttpRequest函数变得更容易。请参阅jquery.get(),jquery.post()和jquery.ajax()(a.k.a $ .get(),$ .post()和$ .ajax())函数文档

以下是使用jQuery的$ .post()和$ .ajax()函数进行AJAX调用的一些指南。

  • (http://www.sitepoint.com/ajax-jquery-3/)
  • (http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/)
  • (http://www.phpfreaks.com/forums/index.php?topic=256503.0)
  • (http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/)

此处还有一个如何编码的示例框架:


    <form id="exampleform" name="exampleform" action="1.php">
    ...
    </form>
    <script type="text/javascript">
      function submitForm()
      {
        ... // set up vars for $.post() call

        // Make the post call for the 2.php
        $.post( ... );

        // Submit the form for 1.php
        document.forms["exampleform"].submit();
      }
    </script>

答案 2 :(得分:0)

以上所有解决方案都应该有效,但请记住ajax只能在同一个域名中发布。这意味着您在http://example.com,您只能发布到example.com/etc或sub.example.com
如果你真的想要跨域发布,你应该创建一个空的ifram作为目标(id =“iframeid”),然后将表单的目标更改为:

<form target="_iframeid" action=""/>

之后您可以使用javascript发布到一个页面,然后更改操作网址并重新发布

答案 3 :(得分:-2)

快速而肮脏的方法是将表单发布到一个脚本,然后将脚本发布到第二个脚本。