2015-01-01 52 views
0

我有一個搜索表單,我必須讓我的訪問者使用通配符進行查詢。我正在使用的腳本允許以與Windows搜索非常相似的方式添加?*來進行通配符搜索。儘管目前它的工作正常,但在第一次嘗試時,沒有人會在其查詢結尾添加星號。如何將一個常量字符添加到HTML搜索表單的末尾

所以,我不知道是否有可能以某種方式修改我的HTML表單,以便自動地讓他們通過通配符搜索。例如,當他們搜索「紐約」時,我希望我的頁面也顯示「紐約客」的結果。查詢「new york *」完全適用於我的搜索表單,但正如我已經解釋的,我應該對它進行排序而不是用戶,並讓他們默認使用此功能。

<form action="index.php" method="get" style="margin:0" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded"> 
<input class="input" name="q" type="text" value="" /> 
<input type="hidden" name="-1" value="0" /> 
<input type="hidden" name="strict" value="1" /> 
<input type="hidden" name="a" value="srch" /> 
<input type="submit" class="submitok" value="Search!" /> 
</td> 
</form> 
+0

只是追加一個星號搜索查詢提交前... – Banana

+0

謝謝,但還是不知道去哪裏做。我嘗試過「價值」標籤,但絕對沒有工作。 – Zedman

+0

請發送代碼 – Banana

回答

0

只需連接一個事件監聽器提交的點擊,並提交表單添加一個星號,以搜索查詢結束前...

document.getElementsByClassName("submitok")[0].addEventListener("click",function(){ 
 
    document.getElementsByClassName("input")[0].value+="*"; 
 
});
<form action="index.php" method="get" style="margin:0" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded"> 
 
    <input class="input" name="q" type="text" value="" /> 
 
    <input type="hidden" name="-1" value="0" /> 
 
    <input type="hidden" name="strict" value="1" /> 
 
    <input type="hidden" name="a" value="srch" /> 
 
    <input type="submit" class="submitok" class="submitok" value="Search!" /> 
 
</form>

一旦點擊監聽器代碼執行,該形式將與星號後綴得到提交

+0

上的腳本,使用javascript沒有任何錯誤,只要他的客戶端不會在瀏覽器中禁用它,並且seeint asint沒有任何錯誤,因爲它們可以添加它也是自己的。此外,op可以檢查是否輸入了星號,如果不是則附加一個。 – Banana

+0

這很好,非常感謝你! – Zedman

+0

不客氣:) – Banana

0

PHP將允許您添加缺少*在次e搜索字符串的結尾,但我們需要您的PHP代碼來幫助這裏。

例子:

if(isset($_GET["q"]) && $_GET["q"] != "") 
{ 
    $query = $_GET["q"] . "*"; 
} 
+0

腳本的PHP端太複雜了,我的水平。我已經使用香蕉的JavaScript。非常感謝您的幫助! – Zedman

相關問題