表单提交执行功能

时间:2013-12-12 18:24:08

标签: javascript html dom

我有这段代码:

function src(){
  var id = document.getElementsByName("query")[0].value;
  window.location.href = "/search/?query=" + id;
}
var f_src = document.getElementById("search_form");
if(f_src)
  f_src.onsubmit = function(){src();return false;};

我在提交部分遇到问题:我想,当我在字段“url”中输入“example”时,将其重定向到 / search /?query = example“,但它没有用,有什么帮助吗?

HTML:

  <form id="search_form" method="get" action="" name="search_f">
    <input id="search_field" maxlength="100" name="query" type="text" value="" placeholder="<?php echo $src_txt; ?>">
    <input id="search_button" type="submit" value="">
  </form>

感谢。

2 个答案:

答案 0 :(得分:3)

除了您可能遇到的问题之外,您可以在没有JavaScript的情况下实现相同的行为。你只需要给表单元素命名为“query”,并让它向/search提交一个GET请求:

<form id="search_form" method="get" action="/search/" name="search_f">
    <input id="search_field" maxlength="100" name="query" type="text" value="" placeholder="<?php echo $src_txt; ?>">
    <input id="search_button" type="submit" value="">
</form>

action属性告诉浏览器将请求发送到的位置。每个具有name的表单控件元素都将包含在查询字符串中。

无需JavaScript。

答案 1 :(得分:0)

如果你不坚持使用javascript,你可以使用好的旧HTML来实现这个目标:

<form action="/search/" method="get">
    <input name="query" />
</form>