2013-10-17 82 views
0

我試圖做一個網站,使我的搜索變得容易。
我希望能夠在文本框中編寫任何文本,並使java腳本生成適當的鏈接。在javascript中使用文本輸入生成搜索鏈接

我一直在嘗試此:

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

_The第二環節的心不是開始updated_。這是因爲你的功能只處理第一個鏈接。 – putvande

回答

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> 

謝謝:)

+0

同樣,你可以鍛鍊第二個鏈接。 :) – Subh

相關問題