免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10590 | 回复: 12
打印 上一主题 下一主题

求助: php里‘submit’ 带来的页面跳转问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-02 12:07 |只看该作者 |倒序浏览
20可用积分
当前页为:  http://SpecialPage?aa=1,bb=1
在这页面里有个‘submit’ button, 点击后我仍想停留在这个页面上,只是需要通过点击操作完成一些数据库信息的更新,完成数据库信息更新时需要使用aa=1,bb=1这些参数,
问题在于, 点击button后,在对应的处理代码里就得不到‘aa=1,bb=1’ ,并且浏览器提示已经跳转到http://SpecialPage?submit=submit的页面里了.

请大家帮忙看看是什么问题,谢谢!

最佳答案

查看完整内容

如果是要这个:http://yourSiteName/SpecialPage.php?aa=1&bb=1不过还是不推荐这么个用法

论坛徽章:
0
2 [报告]
发表于 2008-06-02 12:07 |只看该作者
原帖由 fq43 于 2008-6-2 13:47 发表
没有那么复杂,我有一个页面代码如下...
我打 http://SpecialPage?aa='A'的时候,A没有被显示,同时URL变成了http://SpecialPage?submit=submit,我的意思是想保留aa='A'也就是说当我点击submit的时候url还是http://SpecialPage?aa='A'&submit=submit
请指教

如果是要这个:
http://yourSiteName/SpecialPage.php?aa=1&bb=1

<?php
&nbsp;&nbsp;&nbsp;&nbsp;if (!empty($_GET['aa'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "a={$_GET['aa']}";
&nbsp;&nbsp;&nbsp;&nbsp;}
?>
<script language="javascript">
function getUrlParam( paramName )
{
&nbsp;&nbsp;&nbsp;&nbsp;var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
&nbsp;&nbsp;&nbsp;&nbsp;var oMatch = oRegex.exec( window.top.location.search ) ;
&nbsp;&nbsp;&nbsp;&nbsp;//alert(oMatch[0]);
&nbsp;&nbsp;&nbsp;&nbsp;if ( oMatch && oMatch.length > 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return unescape( oMatch[1] ) ;
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '' ;
}

function saveURL(){
&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('aa').value=getUrlParam('aa');
&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('bb').value=getUrlParam('bb');
}
</script>
<form  method="GET" onsubmit="saveURL();">
&nbsp;&nbsp;&nbsp;&nbsp;Your Info.
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<input type="hidden" name="aa" id="aa" />
&nbsp;&nbsp;&nbsp;&nbsp;<input type="hidden" name="bb" id="bb" />
&nbsp;&nbsp;&nbsp;&nbsp;<input name="doSubmit" value=" 确定" type="submit">
</form>


不过还是不推荐这么个用法

论坛徽章:
0
3 [报告]
发表于 2008-06-02 12:12 |只看该作者
具体的代码能不能发过来?让大家一起看看问题的所在,这样的话原因有很多!

论坛徽章:
3
金牛座
日期:2013-10-12 15:42:452015年辞旧岁徽章
日期:2015-03-03 16:54:15IT运维版块每日发帖之星
日期:2016-06-01 06:20:00
4 [报告]
发表于 2008-06-02 13:10 |只看该作者
你可以在网上查一下ajax的用法.
当点击按钮时,用js通过客户端的XMLHTTP对象访问你的更新页面,并传递那两个需要的参数.

论坛徽章:
0
5 [报告]
发表于 2008-06-02 13:47 |只看该作者
没有那么复杂,我有一个页面代码如下
<?php
echo "<form action='./SpecialPage.php' method=GET ";
echo "<input type=submit name=submit value="Submit">;
if (isset($_GET['submit'])) {
  if (isset($_GET['aa']) {
     echo "$_GET[aa]";
  }
}
?>

我打 http://SpecialPage?aa='A'的时候,A没有被显示,同时URL变成了http://SpecialPage?submit=submit,我的意思是想保留aa='A'也就是说当我点击submit的时候url还是http://SpecialPage?aa='A'&submit=submit
请指教

论坛徽章:
3
金牛座
日期:2013-10-12 15:42:452015年辞旧岁徽章
日期:2015-03-03 16:54:15IT运维版块每日发帖之星
日期:2016-06-01 06:20:00
6 [报告]
发表于 2008-06-02 14:13 |只看该作者
<?php
echo "<form action='./SpecialPage.php' method='GET'>";
if(count($_GET)>0)
{
    while(list($k,$v)=each($_GET))
    {
        if(trim($k) != 'submit')
            echo "<input type='hidden' name='$k' value='$v' >";
    }
}
echo "<input type='submit' name='submit' value='Submit'>";

if (isset($_GET['submit']))
{
    if (isset($_GET['aa']))
    {
        echo $_GET['aa'];
    }
}
?>

论坛徽章:
0
7 [报告]
发表于 2008-06-02 14:21 |只看该作者
谢谢 flynetcn 的回帖,但是还是不行,我想请教一下,如果我想用session实现这个功能,应该怎么做?再次感谢

论坛徽章:
3
金牛座
日期:2013-10-12 15:42:452015年辞旧岁徽章
日期:2015-03-03 16:54:15IT运维版块每日发帖之星
日期:2016-06-01 06:20:00
8 [报告]
发表于 2008-06-02 14:36 |只看该作者
其实..我不知道你的问题是什末?  办法当然有很多.

论坛徽章:
0
9 [报告]
发表于 2008-06-02 16:55 |只看该作者
要么把你需要的参数作为隐藏变量post过去,要么把你当前的url作为action提交的url。或者使用js提交将你要的参数提交过去也可以!

论坛徽章:
0
10 [报告]
发表于 2008-06-02 17:04 |只看该作者
<form action='./SpecialPage.php' method='GET'>

改成 <form method="POST">就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP