0

当用户单击“搜索”按钮时,我正在尝试将我的按钮的 HREF 设置为输入字段中的文本和我的选择列表中的选定选项。

<div>
  <div>
    <input type="text" value="Keywords" style="width:206px" />
  </div>
  <div style="clear:both">
    <select>
      <option value="Test">Test</option>
    </select>
  </div>
  <div>
    <button><a href="">Search</a></button>
  </div>
</div>

如何从输入框的值和选择列表的选定值中设置href?我可能需要为此创建一个表单,但我想我可以用一些更简单的东西来摆脱困境。我只需要编译搜索字符串并将用户重定向到适当的页面,因为搜索引擎已经构建。

谢谢!

编辑 1

抱歉,我正在使用 php 加载选择列表,但我无法提供选择列表如何填充的代码,因为其中包含公司敏感信息。我不应该包括那个。

4

2 回答 2

1

使用javascript,您可以检索表单字段的值并将其处理为您需要的内容。

假设选择 IDselect和链接 ID 为link

var value = document.getElementById('select').value;
document.getElementById('link').setAttribute('href', value);
于 2013-03-19T16:34:32.677 回答
1

仅使用 PHP(无 jQuery,无 Javascript),您将在表单中使用提交按钮并使用$_POST

第一个表格(精简为基础):

<form method="post">    
    <input name="keywords" type="text" value="Keywords" style="width:206px" />
    <select name="options">
        <option value="Test">Test</option>
    </select>
    <input type="submit" name="ok" value="ok" />
</form>

2nd,在你的 php 页面的开头,它包含该表单:

if (isset($_POST['ok'])) { // submit has been clicked...

    if (isset($_POST[keywords])) { // there's input in keywords

        $keywords = $_POST['keywords'];
        // sanitize $keywords to prevent sql-injection

        // go to the page you want to call...
        // assuming there's no output before header ...
        // and $keywords is in the right format ...
        // and you retrieved $_POST['options'] to do sth with that, too

        header('Location: http://www.url.com/page.php?key=$keywords');
    } else exit('no keywords entered!');  
}
于 2013-03-19T16:44:55.533 回答