简体   繁体   English

带有回车键的 JavaScript 搜索表单并在新选项卡中打开

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM