如果URL具有参数,则自动提交表单

时间:2015-09-30 21:44:44

标签: javascript php html

如果网址有参数,我会尝试自动提交表单。表单预先填入参数值。

<form name="search" method="post">
    <div class="input-group">
        <input tabindex="1" type="text" name="search" class="form-control" placeholder="Item" value="<?php echo (htmlspecialchars($_GET["item"]) != '') ? htmlspecialchars($_GET["item"]) : '';?>">
        <input type = "hidden" name = "doSearch" value = "1">
        <span class="input-group-btn">
            <button class="btn btn-default" type="submit" name = "submit"><i class="material-icons icon-button">search</i></button>
        </span>
    </div>
</form>

我该怎么做?如果有参数,我只想提交表格,否则不提。

示例:

www.test.com?item=example      --> submit prefilled form automatically

www.test.com    --> do nothing

1 个答案:

答案 0 :(得分:0)

我不确定你想要这么复杂,所以这是一个简单的例子。

<强>的JavaScript

function submitForm() {
  if (window.location.href.indexOf("?") > -1) {
    document.getElementsByName("search")[0].submit();
  }
}

submitForm();

这将仅检查url中是否存在查询字符串分隔符(这通常意味着查询字符串将遵循?标记)。

因此,如果您有www.test.com?item=example,则会提交表单。但是,www.test.com?也会提交。

如果这是一个适合您的解决方案,请告诉我。

编辑:您必须将名称为submitsearch的html元素重命名为其他内容。您可能还需要将action属性添加到form

所以你最终得到这样的东西:

<form name="search" method="post" action="form_handle.php">
   <div class="input-group">
      <input tabindex="1" type="text" name="search_input" class="form-control" placeholder="Item" value="<?php echo (htmlspecialchars($_GET["item"]) != '') ? htmlspecialchars($_GET["item"]) : '';?>">
      <input type = "hidden" name = "doSearch" value = "1">
      <span class="input-group-btn">
         <button class="btn btn-default" type="submit" name = "submit_btn"><i class="material-icons icon-button">search</i></button>
      </span>
   </div>
</form>

<script>
function submitCheck() {
    if (window.location.href.indexOf("?") > -1) {
        document.getElementsByName("search")[0].submit();
    }
}

submitCheck();
</script>