我有一个表格,其开头标记看起来像这个
<form name="adv_search_form" action="" onSubmit="location.href = location.href.split('#')[0]+'&adv_search=adv_search'" method="POST">
实际上,location.href
的值为http://localhost/projectcode12may2014/ampanel/index.php?rel=common_listing&module=company#
我希望在提交表单时向网址附加&adv_search=adv_search
,在从网址中移除#
以使其$_GET
能够之后也是如此。
所以当我做的时候
<form name="adv_search_form" action="" onSubmit="location.href = location.href+'&adv_search=adv_search'" method="POST">
事情很顺利但是哈希在网址中仍然存在。所以我使用了表单开头标记作为前一个。但是当我这样做时,没有任何反应,网址根本没有变化。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
使用子字符串方法来消除&#39;#&#39;最后:
location.href = location.href.substring( 0, location.href.length-1 ) +
'&adv_search=adv_search';
答案 1 :(得分:0)
我建议您使用PHP处理正确的onSubmit URL,并且不要依赖客户端location.href。可能导致不必要的行为。
如果你真的想要它,那么你可以使用str.replace()。
original = location.href+'&adv_search=adv_search';
original.str_replace('#', '');
答案 2 :(得分:0)
我得到了解决问题的方法。网址正在发生变化,但在提交表单时,action
覆盖了该网址。我必须通过在onSubmit属性中添加return false
来弃用表单的默认行为。
不管怎样,谢谢你的回答。