I have a form which when submitted goes to the url \"signup.php?username=xx\" where xx is an input field. Instead of this I was wondering if I could get it to go to the foll
Try this:
RewriteRule ^signup/([^/]*)$ /signup.php?username=$1 [L]
Include jQuery if not already included
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
and then add this 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>
You need to use Javascript and some type of .htaccess for that. But why don't you use POST
instead of GET
?
I don't want singup?username=sawny&password=1234
in my history.
EDIT:
I had done something like this:
$(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);
});
});
and then the regexp @zero posted in a .htaccess file.