PHP:在select中通过url更改表单的页面操作

PHP:在select中通过url更改表单的页面操作,php,jquery,forms,Php,Jquery,Forms,hy,我对表格有问题。我知道问题很简单,但我没有办法解决。这是我的表格: <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

hy,我对表格有问题。我知道问题很简单,但我没有办法解决。这是我的表格:

<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并提交表单时,我必须为每次选择转到SelectVendita中的url。有人能帮我吗?感谢

在服务器端php代码中,执行以下操作

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

注意:这是一个非常基本的版本,您需要通过在服务器上维护url列表或类似的方式来确保url有效。

是否要根据选择更改表单的操作?以下内容应该与您想要的内容大致相同

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

您需要将此代码包装在$document.ready中,以便在加载DOM后注册事件

像这样:

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

如果我正确理解了您的问题,您需要一种方法将操作值更改为所选选项的值

这就是如何做到这一点

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

演示:

有许多不同的方法,但您可以使用以下方法: 请参见表单定义中的onsubmit部分


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

所以你想要一些代码来执行重定向。。。还是我错过了这个问题?这是使用.prop over.attr的完美候选。是的,更改了答案以反映这一点。欢迎您,请参阅更新的答案以放置代码。您可以将代码放在头部并封装在就绪函数中,这样您就知道所有DOM元素都已呈现;但是我必须把javascript代码放在哪里呢?在<头>?因为不起作用……嗯,你的问题有一个Jquery标记,所以我希望你包含Jquery。您可以在头部添加脚本,但必须在头部包含jquery