[英]JavaScript search form with enter key and open in new tab
I tried to modify some search form script with multiple URL, everything is ok but I want to be able to activate the "enter key" button and "open in new tab" for this searchform.我试图修改一些带有多个 URL 的搜索表单脚本,一切正常,但我希望能够为此搜索表单激活“输入键”按钮和“在新选项卡中打开”。 any solution/suggestion for this?
对此有任何解决方案/建议吗?
Thanks,谢谢,
function startSearch(){ searchString = document.searchForm.searchText.value; if(searchString != ""){ searchEngine = document.searchForm.whichEngine.selectedIndex + 1; finalSearchString = ""; if(searchEngine == 1){ finalSearchString = "https://perpus.or.id/?post_types=&s=" + searchString; } if(searchEngine == 2){ finalSearchString = "https://brwa.or.id/search?q=" + searchString; } if(searchEngine == 3){ finalSearchString = "https://madaniberkelanjutan.id/hasil-pencarian/" + searchString; } if(searchEngine == 4){ finalSearchString = "https://jkpp.org/?s=" + searchString; } if(searchEngine == 5){ finalSearchString = "https://www.econusa.id/id/search?search_flag=1&txtsearch=" + searchString + "&x=0&y=0"; } if(searchEngine == 6){ finalSearchString = "https://www.aman.or.id/?s=" + searchString; } location.href = finalSearchString; } }
<form name="searchForm" target="_blank" method="get"> <table align="center" border cellpadding=3 cellspacing=2 > <td ><input style="background: none" name="searchText" type="text" placeholder="Search Keyword..."> <td > <select style="background: 000000" name="whichEngine" type="radio"> <option selected>Perpustakaan <option>BRWA <option>Madani Berkelanjutan <option>JKPP <option>Econusa <option>AMAN </select> <td bgcolor=navajowhite><input type="button" value="Search" onClick="startSearch()" formtarget="_blank"> </select> </table> </form>
Onkey enter try this: Onkey 输入试试这个:
function runOnEnter(e){ if(e.keyCode === 13){ e.preventDefault(); // Ensure it is only this code that runs startSearch(); } }
<td bgcolor=navajowhite><input type="button" value="Search" onkeypress="runOnEnter(event)" onClick="startSearch()" formtarget="_blank">
And to open in new tab try:并在新标签中打开尝试:
window.open(finalSearchString, '_blank');
Getting search text获取搜索文本
You should get search text like this你应该得到这样的搜索文本
searchString = document.querySelector('[name="searchText"]').value
Getting engine获取引擎
You should get search engine index like this你应该得到这样的搜索引擎索引
searchEngine = document.querySelector('[name="whichEngine"]').value
Close option tags and add value attribute关闭选项标签并添加值属性
Also close option tags and add value attribute to your options tags, for example还关闭选项标签并将 value 属性添加到您的选项标签,例如
<option value="1">BRWA</option>
If you are lazy you do the follwing:如果你很懒惰,请执行以下操作:
<option value="https://brwa.or.id/search?q=">BRWA</option>
(Do this for other options) (对其他选项执行此操作)
Then in startSearch() do something like this:然后在 startSearch() 中做这样的事情:
function startSearch(){
searchString = document.querySelector('[name="searchText"]').value
searchEngine = document.querySelector('[name="whichEngine"]').value
finalSearchString = searchEngine + searchString;
window.open(finalSearchString, "_blank"); // This opens in new tab
}
Your complete code will be something like this您的完整代码将是这样的
function startSearch(){ searchString = document.querySelector('[name="searchText"]').value searchEngine = document.querySelector('[name="whichEngine"]').value finalSearchString = searchEngine + searchString; window.open(finalSearchString, "_blank"); // This opens in new tab }
<form name="searchForm" target="_blank" method="get"> <table align="center" border cellpadding=3 cellspacing=2 > <td ><input style="background: none" name="searchText" type="text" placeholder="Search Keyword..."> <td > <select style="background: 000000" name="whichEngine" type="radio"> <option value="https://perpus.or.id/?post_types=&s=" selected>Perpustakaan</option> <option value="https://brwa.or.id/search?q=" >BRWA</option> <option value="https://madaniberkelanjutan.id/hasil-pencarian/" >Madani Berkelanjutan</option> <option value="https://jkpp.org/?s=" >JKPP</option> <option value="https://www.econusa.id/id/search?search_flag=1&txtsearch=" >Econusa</option> <option value="https://www.aman.or.id/?s=" >AMAN</option> </select> <td bgcolor=navajowhite><input type="button" value="Search" onClick="startSearch()" formtarget="_blank"> </select> </table> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.