我正在努力建立一个让搜索变得容易的网站 我希望能够在文本框中编写任何文本,并使java脚本生成相应的链接。
我一直在尝试这个:
function prepare_link() {
var url_param = document.getElementById('url_param');
var target_link = document.getElementById('target_link');
if ( ! url_param.value ) {
return false;
}
target_link.href = target_link.href + escape(url_param.value);
}
<input type="text" name="url_param" id="url_param" onkeypress='prepare_link()' onKeyUp='prepare_link()' />
<input type="button" onclick="prepare_link();" value="Generate" /><br>
<a href="https://www.google.dk/search?q=" id="target_link">Google</a><br>
<a href="http://www.youtube.com/results?search_query=" id="Youtube">Bing</a>
由于某种原因,搜索字符串会重复,但我希望它能够更新每个按键的链接,而不仅仅是当我按下生成按钮时。 此外,第二个链接没有更新:(
有什么想法吗? :)
答案 0 :(得分:1)
请查看以下代码段,希望这有助于解决您的问题。 在以下代码段中,您将无法获得重复的值。此外,它将与'keyup'和'click'事件一起使用:
var google = "https://www.google.dk/search?q=";
function prepare_link() {
var target_link = document.getElementById('target_link');
target_link.href = google + escape(url_param.value);
alert(target_link.href);
}
void function () {
document.addEventListener("keyup", function(e) {
prepare_link();
e.preventDefault();
});
var click = document.getElementById("target_link");
click.addEventListener("click", function() {
document.dispatchEvent(keyEvent);
});
}();
<input type="text" name="url_param" id="url_param" value=""/>
<input type="button" value="Generate" onclick="prepare_link();" /><br>
<a href="javascript:google" id="target_link">Google</a><br>
谢谢:)