【问题标题】:how change the link form action a accordance with the `<option>`?如何根据`<option>`更改链接表单动作?
【发布时间】:2016-05-17 18:51:08
【问题描述】:

这个表格是搜索表格。当我单击&lt;option&gt;“alfamart”或“bca”时,我想要更改链接。 像这样,链接:/en2/maps(alfamart)or(bca)/ 按照&lt;option&gt;
但是怎么做?

谢谢

<form action="/en2/maps".$id."/"><!--Relative url to the page that your map is on-->

    Distination: 
    <select name="textSearchTerms" class="selectpicker" data-live-search="true">
        <option value="alfamart">Alfamart</option>
	    <option value="BCA">BCA</option>
    </select> 
    <input type="submit" value="Search">
</form>

<?php
$id = $_GET['textSearchTerms'];
?>

【问题讨论】:

  • 我不明白你为什么要这样做,因为 PHP 无论如何都会在服务器上发送选定的数据,你可以用它来处理。?
  • 你应该用 JQuery 来做这个,可能你需要这个:stackoverflow.com/questions/5451600/…
  • 您要更改执行操作的位置,即action 属性,还是要将提交表单的用户重定向到其中包含搜索词的网址?跨度>
  • @jiff——是的,十几个库中的任何一个都可以。我确定 OP 知道这一点。
  • 为什么不监听 select 的 change 事件?然后this.form 获取表单,this.form.action action 属性可以随意使用this.value 获取所选选项的值。但是为什么不直接将 select 的值作为表单数据发送并让服务器解决呢?

标签: javascript php html forms search-box


【解决方案1】:

您不需要从 URL 中获取值,您可以通过选择框值更改表单操作。

$('.selectpicker').change(function(){
if($(this).val() == 'alfamart'){
	$('form').attr('action','alfamart.html');
  alert('action is alfamart.html');
} else {
	$('form').attr('action','BCA.html');
  alert('action is BCA.html');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="/en2/maps">

    Distination: 
    <select name="textSearchTerms" class="selectpicker" data-live-search="true">
        <option value="alfamart">Alfamart</option>
	      <option value="BCA">BCA</option>
    </select> 
    <input type="submit" value="Search">
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多