2011-07-23 59 views

回答

9

如果您使用的是jQuery,最簡單的方法是使用$ .change()。

假設你有一個表單域:

<input id="myField" type="text"/> 

現在,您可以扎一個改變事件給它,並在同一時間看看它是一個有效的URL:

$('#myField').keyup(function() { 
    if(isUrl($(this).val()){ 
     //Show the url in an alert box 
     alert($(this).val()); 
    }else{ 
     //do something if its not a url 
    } 
}); 

然後你會有一個函數檢查url並返回一個布爾值。請注意,我把這個從here

function isUrl(s) { 
    var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ 
    return regexp.test(s); 
} 

免責聲明:我沒有測試過任何的JavaScript的,但是這應該給你的,你怎麼能做到這一點是一個好主意。

+0

什麼代表實際的網址?例如,如果我想要提醒一下,我會說什麼? 'alert(\\ WHAT HERE?\\);' –

+0

不對此使用onchange事件......它只會在模糊字段(離開它)或發送表單時觸發。使用onkeyup(請參閱前面的答案) – TMS

3

只要處理onkeyup或類似事件,然後搜索與正則表達式匹配的textarea的值。沒有特殊的回調來捕捉像「用戶在textarea中編寫鏈接」這樣的事件:-)因此,您必須捕捉現有事件並自行處理。

+0

onkeyup會更好。這樣,如果他們鍵入example.com,當最後的'm'鍵被釋放時,你可以捕捉到,而不是當按下下一個鍵時。 – Sid

+0

好的,謝謝。爲什麼有人下降?爲人們編寫代碼是我們的工作嗎?我想提示可能就夠了。 – TMS

+0

我根據你的評論更新了答案,謝謝。 – TMS

相關問題