2013-05-23 4 views
-1

, у меня есть проблема с формой. Я знаю, что вопрос прост, но у меня нет решения. Ну, это моя форма:PHP: изменение действия страницы формы по URL-адресу в выборе

<form id="search" method="post" action="cerca_redirect2.php" > 

<select id="tipo" name="tipo"class="chzn-select" style="width:165px;" tabindex="1" > 

<option value="http://case.vortigo.it/vendita-immobili/index.php"> Vendita</option> 
<option value="http://case.vortigo.it/affitto-immobili/index.php">Affitto</option> 

</select> 

     <input id="field" name="field" type="text" value=""/> 
     <input id="submit" type="submit" value="" /> 
    </form> 

моя цель состоит в том, когда я выбираю «Vendita» и я представить в виде я должен идти к URL в выберите «Vendita», для каждого выбора. кто-то может мне помочь? благодаря

+0

Так что вы хотите какой-то код, чтобы выполнить переадресацию? ... или я пропустил вопрос? – naththedeveloper

ответ

2

В коде на стороне сервера PHP, сделать что-то вроде этого

if (isset($_POST['tipo']) && !empty($_POST['tipo'])) 
{ 
    header('Location: ' . $_POST['tipo']); 
} 

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

+0

Угадайте, вы должны исправить '+ $ _POST ['tipo']);' – davidkonrad

+0

@davidkonrad исправлено - Недавно работала с C#. – Kami

0

Вы хотите изменить действие формы на основе выбора? Следующее должно быть в соответствии с тем, что вы хотите.

$('#tipo').on('change', function() { 
    var newAction = this.val(); 
    $('#search').prop('action', newAction); 
} 

UPDATE

Вы хотите, чтобы обернуть этот код в $(document).ready() так, что событие будет зарегистрировано после того, как был загружен DOM.

Как так:

$(document).ready(function() { 
    $('#tipo').on('change', function() { 
     var newAction = this.val(); 
     $('#search').prop('action', newAction); 
    } 
}); 
+0

Это идеальный кандидат на использование '.prop()' over '.attr()' – naththedeveloper

+0

Да, измененный ответ, чтобы отразить это. – Schleis

+0

спасибо, что ответили –

0

Если я understan ваш вопрос правильно, вам нужен способ, чтобы изменить значение действия на значение выбранного опциона

это как сделать это

$(document).ready(function(){ 
    $("#tipo").on("change", function(){ 
     $("#search").attr("action", $(this).val()); 
    }); 
}); 

DEMO: http://jsfiddle.net/6ybMP/

+0

спасибо за ответ и извините за мой следующий глупый вопрос; но где я должен поставить код javascript? в < head >? потому что не работает .. –

+0

Ну, на ваш вопрос был тег «JQuery», поэтому я ожидал, что вы включите jquery. вы добавили бы скрипт в голову, но вы хотите включить jQuery в голову –

1

Существует много отличий т способами, но вы можете, например, использование следующего: Смотрите onsubmit участие в определении формы


<form id="search" method="post" action="cerca_redirect2.php" onsubmit="this.action=document.getElementById('tipo')[document.getElementById('tipo').selectedIndex].value" > 
+0

спасибо, я сделал на вашем пути! –

Смежные вопросы