使用javascript中的文本输入生成搜索链接

时间:2013-10-17 11:16:37

标签: javascript html

我正在努力建立一个让搜索变得容易的网站 我希望能够在文本框中编写任何文本,并使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>

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

有什么想法吗? :)

1 个答案:

答案 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>

谢谢:)