如果网址有参数,我会尝试自动提交表单。表单预先填入参数值。
<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
答案 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?
也会提交。
如果这是一个适合您的解决方案,请告诉我。
编辑:您必须将名称为submit
和search
的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>