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