[英]Change the form action when an onchange event is triggered on <select> with 2 forms on page
[英]PHP: change page action of a form by url in select
嗨,我的表格有问题。 我知道问题很简单,但我无法解决。 好吧,这是我的表格:
<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”中的网址。 有人可以帮助我吗? 谢谢
在服务器端php代码中,执行以下操作
if (isset($_POST['tipo']) && !empty($_POST['tipo']))
{
header('Location: ' . $_POST['tipo']);
}
注意:这是一个非常基本的版本,您将希望通过维护服务器上的URL列表或类似内容来确保URL有效。
有很多不同的方法,但是您可以例如使用以下方式:请参阅表单定义中的onsubmit部分
<form id="search" method="post" action="cerca_redirect2.php" onsubmit="this.action=document.getElementById('tipo')[document.getElementById('tipo').selectedIndex].value" >
您要基于选择更改表单的操作吗? 以下应符合您的要求。
$('#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());
});
});
演示: http : //jsfiddle.net/6ybMP/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.