-1

嗨,我的表格有问题。我知道这个问题很简单,但我无法找到解决方案。好吧,这是我的表格:

<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”并提交表单时,我必须为每个选择转到选择“Vendita”中的 url。有人可以帮助我吗?谢谢

4

4 回答 4

2

在服务器端 php 代码中,做这样的事情

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

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

于 2013-05-23T14:09:26.090 回答
1

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


<form id="search" method="post" action="cerca_redirect2.php" onsubmit="this.action=document.getElementById('tipo')[document.getElementById('tipo').selectedIndex].value" >
于 2013-05-23T14:15:31.447 回答
0

您想根据选择更改表单的操作吗?以下内容应符合您的要求。

$('#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);
    }
});
于 2013-05-23T14:10:21.807 回答
0

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

这是怎么做的

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

演示:http: //jsfiddle.net/6ybMP/

于 2013-05-23T14:13:23.683 回答