用JS处理表单提交。将url里的?kwd=去掉

x171306523c 2012-07-25 03:46:33
有一个form表单
<form name="keywords" class="form_index" action="/s/" method="get">

提交按钮
<input type="submit" value="Search" id="su" class="s_btn">

点击这个按钮以后得到一个URL。如:http://localhost/s/?wd=Wordpress

但是我想要的URL为:http://localhost/s/Wordpress

听很多人都说使用JS处理一下这个表单提交,可以得到我想要的URL,就是不知道如何处理

请高手帮帮忙
...全文
590 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
x171306523c 2012-07-27
  • 打赏
  • 举报
回复
楼上说的没错啊

我哭了 继续在线等
黑哥 2012-07-27
  • 打赏
  • 举报
回复
误人子弟啊
误人子弟啊
误人子弟啊
误人子弟啊

LZ只是想要那种形式的URL,那种形式的URL跟POST有一毛钱的关系?没有,除非你用MVC。

如果你用的伪静态,正确的URL应该是 http://localhost/s/(index.html)?wd=Wordpress 类似这样的,你想改成http://localhost/s/Wordpress 那你就要配置个伪静态规则。

如果是urlRewrite,也是配置下规则。

ycproc 2012-07-26
  • 打赏
  • 举报
回复

你通过正则截取

PS:其实这个无所谓,参数你不处理或者不接受得了。不占用什么资源。
x171306523c 2012-07-26
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 的回复:]
var href = (location.href).replace(/?[0-zA-Za-z]{*}=/,"");
[/Quote]
第一:?kwd=是固定的,所以使用
var href = (location.href).replace(/?kwd=/,""); 是不是就可以了?

第二:这个值怎么传到URL里啊?
evaELLIS 2012-07-26
  • 打赏
  • 举报
回复
var href = (location.href).replace(/?[0-zA-Za-z]{*}=/,"");
evaELLIS 2012-07-26
  • 打赏
  • 举报
回复
var href = (location.href).replace(/?[0-zA-Za-z]{*}=/,"");
x171306523c 2012-07-26
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]
引用 5 楼 的回复:
var href = (location.href).replace(/?[0-zA-Za-z]{*}=/,"");不知道可以不,我没有用过正则表达式,你可以搜索一下


你正则写错了。变成var href = (location.href).replace(/\?.+?=/,"");


这样就行了。
[/Quote]

怎样将这个值返回到URL里呢?
whdrs 2012-07-26
  • 打赏
  • 举报
回复
楼主亮了
小宏 2012-07-26
  • 打赏
  • 举报
回复
楼主希望地址栏里面显示他要的值,好像各位只是输出了地址栏里面的信息?没有写过去
诺维斯基 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
var href = (location.href).replace(/?[0-zA-Za-z]{*}=/,"");不知道可以不,我没有用过正则表达式,你可以搜索一下
[/Quote]

你正则写错了。变成var href = (location.href).replace(/\?.+?=/,"");


这样就行了。
pobi 2012-07-25
  • 打赏
  • 举报
回复
Servlet也可以重定向 这就是我说的可以过滤
86y 2012-07-25
  • 打赏
  • 举报
回复
这跟js没有关系 。。这是url重写问题。程序跟IIS的配合。。不然你用JS过滤有什么用。。
pobi 2012-07-25
  • 打赏
  • 举报
回复
这种需求应该实现不了 可以在中间过滤一层 但性能可能要损失了
x171306523c 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
你的意思是既要用get方式提交又不想让用户看到提交的参数是吧
[/Quote]
客户要求url规范化,他们要求那种形式

我都要哭了。技术总监说要用JS处理一下这个表单提交,我让他帮我写一下,他也没给我回

晕死我了
pobi 2012-07-25
  • 打赏
  • 举报
回复
你的意思是既要用get方式提交又不想让用户看到提交的参数是吧
x171306523c 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
额 为什么不能改 客户又不知道 况且post更好
[/Quote]

这是一个搜索引擎,而且数据量非常大。一切都要从性能、速度考虑
pobi 2012-07-25
  • 打赏
  • 举报
回复
额 为什么不能改 客户又不知道 况且post更好
x171306523c 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
method改为post试试
[/Quote]

method的方法不能改啊
pobi 2012-07-25
  • 打赏
  • 举报
回复
method改为post试试
x171306523c 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
很简单,注册一下form的onsubmit事件,在js中控制form的提交就行


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv=……
[/Quote]

您的方法的确可以得到我想要的值
但是URL尾部还有参数。这个是我用您的方法得到的URL
http://localhost/s/Wordpress?wd=Wordpress
加载更多回复(9)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧