Дружественный URL с формой запроса на получение - PullRequest
0 голосов
/ 22 декабря 2010

У меня есть эта простая HTML-форма:

<form action="test/" method="get" accept-charset="utf-8">

    <input type="text" name="first" value="" id="first">
    <input type="text" name="second" value="" id="second">
    <input type="text" name="third" value="" id="third">

    <p><input type="submit" value="Continue &rarr;"></p>
</form>

когда пользователь нажимает кнопку отправки, я хочу получить дружественный URL-адрес, например:

www.site.com / test / first /второй / третий

как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 22 декабря 2010

Место, в котором пользователь попадает после заполнения формы и нажатия кнопки «Продолжить», зависит от того, для чего вы установили атрибут action в теге form.В настоящее время вы установили его на test/.

Если вы хотите, чтобы они заканчивались на test/<first_val>/<second_val>/<third_val>/, то вы можете либо использовать некоторый JavaScript (согласно ответу pythonFoo), либо вы можете перенаправить в представлении, котороеtest/ указывает, используя HttpResponseRedirect:

def test_view(request):
  return HttpResponseRedirect('/test/%s/%s/%s/' % request.POST['first'],
                                                  request.POST['second'],
                                                  request.POST['third])
2 голосов
/ 22 декабря 2010
    <input type="text" name="first" value="" id="first">
    <input type="text" name="second" value="" id="second">
    <input type="text" name="third" value="" id="third">

    <p><input type="button" value="Continue &rarr;" onclick="submitFriendly();"></p>

<script type="text/javascript">
function submitFriendly() {
window.location.href = window.location.href + document.getElementById('first').value + '/' + document.getElementById('second').value + '/' + document.getElementById('third').value;
}
</script>

Это должно работать.Он не проверяет, все ли входы заполнены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...