2014-12-04 1 views
1

Я создаю веб-сайт довольно url, и у меня есть проблема с получением переменных в форме. У меня есть url как localhost/events/1 (1 - переменная get $ _GET ['eventID']). Я хочу, чтобы отправить EVENTID с формой, как показано нижеотправить переменные get для довольно url

<select name='eventID'> 
    <option value='1'>firstEvent</option> 
    <option value='2'>secondEvent</option> 
    <option value='3'>thirdEvent</option> 
</select> 

, но когда я нажимаю на кнопку, чтобы отправить информацию на странице и мое изменение URL-адрес этой

localhost/events/?eventID=1 

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

localhost/events/1 

Как я мог бы достичь этого?

+0

Можете ли вы показать нам свой код для отправки запроса GET? – user3334871

+0

Вы должны переписать URL-адрес в файле '.htacess'. – Rasclatt

+0

@ user3334871; я просто иметь форму, чтобы отправить запрос GET <форма действие = «» метод = «получить»> 'выбрать идет here' <входной тип =«отправить»значение =«поиск»/> –

ответ

1

Если вы хотите сделать это на стороне клиента, вы можете использовать javascript onsubmit и перенаправить на страницу, которую хотите. Например:

<script type="text/javascript"> 
function yourFunction() 
{ 
    var sel = document.getElementById('eventID'); 
    if (sel.selectedIndex !== -1) 
    { 
     window.location.href = '/events/' + sel.options[sel.selectedIndex].value; 
    } 

    return false; 
} 
</script> 

<form method="get" onsubmit="return yourFunction()"> 
<select name="eventID" id="eventID"> 
    <option value="1">firstEvent</option> 
    <option value="2">secondEvent</option> 
    <option value="3">thirdEvent</option> 
</select> 
<input type="submit"> 
</form> 
1

Согласно W3C Вопросительный знак является частью определения form submission with the GET method, так что вы не можете на самом деле сделать это. но вы можете перенаправить страницу с помощью javascript.

<form id="form" method="get"> 
<select name='eventID'> 
    <option value='1'>firstEvent</option> 
    <option value='2'>secondEvent</option> 
    <option value='3'>thirdEvent</option> 
</select> 
<input type="button" onclick="document.location.href= '/events/' + form.eventID.value" value="Submit"> 
</form> 
0

спасибо всем. Я хочу решение без javascript или jquery , но, похоже, нет никакого способа сделать это без них обоих. Я, наконец, написал код в JQuery, чтобы решить эту проблему.

<form id="events" method="get"> 
    <select name='eventID'> 
    <option value='1'>firstEvent</option> 
    <option value='2'>secondEvent</option> 
    <option value='3'>thirdEvent</option> 
    </select> 
<input type="button" onclick="document.location.href= '/events/' + form.eventID.value" value="Submit"> 
</form> 

$('#events').on('submit', function(e){ 
    e.preventDefault(); 
    document.location.href= '/events/' + $(this).find('select#sportID').val(); 
})