【发布时间】:2011-12-22 04:44:05
【问题描述】:
我有一个表单,提交时会转到 url "signup.php?username=xx",其中 xx 是输入字段。相反,我想知道是否可以将其转到以下 url “signup/xx”,其中 xx 是从输入字段中获取的。
【问题讨论】:
我有一个表单,提交时会转到 url "signup.php?username=xx",其中 xx 是输入字段。相反,我想知道是否可以将其转到以下 url “signup/xx”,其中 xx 是从输入字段中获取的。
【问题讨论】:
为此,您需要使用 Javascript 和某种类型的 .htaccess。但是为什么不使用POST 而不是GET?
我不希望 singup?username=sawny&password=1234 出现在我的历史记录中。
编辑:
我做过这样的事情:
$(document).ready(function() {
$("submit[name='foo']").live('submit', function() {
var usr = $("form input[name='user']").val();
$("form input[name='user']").remove(); //Else it will be singup/usr?user=
$("form[name='bar']").attr("action", "singup/"+ usr);
});
});
然后将正则表达式 @zero 发布到 .htaccess 文件中。
【讨论】:
试试这个:
RewriteRule ^signup/([^/]*)$ /signup.php?username=$1 [L]
【讨论】:
包括jQuery(如果尚未包括)
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
然后添加这个脚本
<script>
$(function(){
$("form").submit(function(e){
e.preventDefault();
var action = $(this).attr("action");
var username = $(":input[name='username']").val();
action = action + "/" + username;
location.href = action;
})
})
</script>
【讨论】: