2011-08-02 59 views
0

我有一个窗体在侧边栏,并在多个页面上显示。如果用户位于page-a.php并提交表单,它将使用ajax将某些数据返回到该页面上的div。但是,如果用户在page-b.php并提交相同的表单(同样,它包含在两个页面上),我希望表单重定向到page-a.php,然后使用相同的ajax文章加载数据。我怎样才能做到这一点?我如何才能在表单帖子之前重定向?

编辑为清楚:

页a.php只会 - 当此提交此表(从单独的文件中包含),Ajax调用的页面 - c.php,它加载数据到DIV提出:

<form method="post" action="page-c.php"> 
    <input .... 
       /> 
</form> 
<div></div> 

页b.php具有完全相同的形式(从一个单独的文件在内),但不同的内容,所以为了将数据加载到DIV,我们需要重定向到页面a.php只会:

<form method="post" action="page-c.php"> 
    <input ..... 
      /> 
</form> 

那么我怎样才能使表单调用工作相同(已经实现的Ajax),但是让它首先将页面重定向到page-a.php?

+0

你止跌”不需要使用ajax来完成它。 – brenjt

+0

@brenjt ajax用于表单的数据检索,而不是重定向。 – xdumaine

回答

0

使用这个解决它:

<form name="formA" id="formA" method="post" 
      <?php if(curPageName() == 'page-a.php'){ 
       echo 'class="ajax" action="page-c.php"'; 
       } 
       else { 
       echo 'action="page-a.php"'; 
       } 
      ?> 
     > 

与此有关页面a.php只会自动提交页面加载时会被重定向形式将负荷的AJAX提交

<script type="text/javascript">$(document).ready(function() {document.formA.submitbutton.click(); });</script> 
0

如何将page-b.php的表单发布到page-a.php,然后基于HTTP_REFERRER cgi环境变量的内容,包含一些JavaScript以便在页面加载时使用ajax post例程?

如果你做了一个真正的HTTP重定向,你将失去所有在page-b.php中填写的表单数据。如果他们在同一台服务器上,我想你可以在本地保存数据,并在Http重定向响应之前将其与会话变量相关联。 page-a.php会在加载时检查本地表单数据。

0

难道你不能只是从page-a.php提取的JavaScript到一个单独的.js文件,包括在page-a.phppage-b.php?然后当表单被提交时,它只会使用相同的功能。更新该函数,将其作为正在进行呼叫的页面的参数,以便您不更新page-b.php上的div。

0

让你的表单标签设置为使

<form action="page-a.php" method="post"> 
    <input name="formfield" id="formfield" /> 
</form> 

page-b.php你可以使用PHP来从窗体拉发布的数据。

<?php echo $_POST['formfield'];?> 

你不需要使用javascript/ajax的任何这一点。

+0

我已经使用ajax,并且它工作得很好。也就是说,表单在'page-a.php'上通过ajax发布并获取数据。我需要从'page-b.php'发生同样的事情,但首先要重定向到'page-a.php'。 – xdumaine

+0

编辑该问题以澄清 – xdumaine

相关问题