我有一个侧边栏中的表单,并显示在多个页面上。如果用户在page-a.php
上并提交表单,则使用ajax将某些数据返回到该页面上的div。
但是,如果用户在page-b.php
上并提交相同的表单(同样,它包含在两个页面中),我希望表单重定向到page-a.php
,然后使用相同的ajax帖子加载数据。我怎样才能做到这一点?
为清晰起见编辑:
page-a.php - 当提交此表单(包含在单独的文件中)时,对page-c.php进行ajax调用,将数据加载到div中:
<form method="post" action="page-c.php">
<input ....
/>
</form>
<div></div>
page-b.php具有完全相同的形式(包含在单独的文件中),但内容不同,所以为了将数据加载到div中,我们需要重定向到page-a.php:
<form method="post" action="page-c.php">
<input .....
/>
</form>
那么我怎样才能使表单调用工作相同(已经实现的ajax),但是首先将它重定向到page-a.php?
答案 0 :(得分:0)
如何将page-b.php的表单发布到page-a.php,然后基于HTTP_REFERRER cgi环境变量的内容,包含一些javascript来为你在页面加载时ajax post例程?
如果您执行真正的HTTP重定向,您将丢失在page-b.php上填写的所有表单数据。如果它们位于同一台服务器上,我认为您可以在Http Redirect响应之前在本地保存数据并将其与会话变量相关联。 page-a.php会在加载时检查本地表单数据。
答案 1 :(得分:0)
您是否只能将page-a.php
中的JavaScript解压缩到page-a.php
和page-b.php
中包含的单独.js文件中?然后,当提交表单时,它将只使用相同的功能。更新该函数,将其作为调用页面的参数,以便不更新page-b.php
上的div。
答案 2 :(得分:0)
将表单标记设置为
<form action="page-a.php" method="post">
<input name="formfield" id="formfield" />
</form>
在page-b.php
上,您可以使用php从表单中提取已发布的数据。
<?php echo $_POST['formfield'];?>
你不需要使用javascript / ajax。
答案 3 :(得分: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>