0

我正在尝试制作一个网站,让我可以轻松搜索。
我希望能够在文本框中写入任何文本,并使 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>

出于某种原因,搜索字符串会重复,但我希望它更新每个按键的链接,而不仅仅是当我点击生成按钮时。
此外,第二个链接没有更新:(

有任何想法吗?:)

4

1 回答 1

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>

谢谢 :)

于 2013-10-17T13:20:51.193 回答