将文本附加到HTML表单操作搜索的结果,一个文本框,2个按钮,2个可能的结果



我在这里使用了@John Strood的答案来构建我当前的脚本。下面的代码很接近我的需求,我现在只需要在结果中添加文本。

例如,将site:imdb.com/title附加到Hakunamatata以获得https://www.bing.com/search?q=site:imdb.com/title+Hakunamatata

@Spectric对于单个提交表单有一个很好的答案,但它似乎无法与当前脚本配合使用。

<form action="" method="get">
<input type="text" value="Hakunamatata"  id="box" name="search_query"placeholder="text" autofocus />
<input type="submit" value="BNG" formaction="https://testurl1.com"
onclick="document.getElementById('box').name='q'" />
<input type="submit" value="ABB" formaction="http://testurl2.com"
onclick="document.getElementById('box').name='s'" />
</form>

如果您想知道onclick函数是必要的
testurl1使用?q的搜索修饰符,testurl2使用?s

当触发submit事件时,将字符串前置为输入的值。

form.addEventListener('submit', function() {
box.value = 'site:imdb.com/title ' + box.value;
})
<form action="" method="get" id="form">
<input type="text" value="Hakunamatata" id="box" name="search_query" placeholder="text" autofocus />
<input type="submit" value="BNG" formaction="http://www.bing.com/search" onclick="document.getElementById('box').name='q'" />
<input type="submit" value="ABB" formaction="http://www.bing.com/search" onclick="document.getElementById('box').name='s'" />
</form>

若要有条件地预先准备字符串,请将逻辑移动到按钮的click事件侦听器。

<form action="" method="get" id="form">
<input type="text" value="Hakunamatata" id="box" name="search_query" placeholder="text" autofocus />
<input type="submit" value="BNG" formaction="http://www.bing.com/search" onclick="document.getElementById('box').name='q';box.value = 'site:imdb.com/title ' + box.value;" />
<input type="submit" value="ABB" formaction="http://www.bing.com/search" onclick="document.getElementById('box').name='s'" />
</form>

最新更新