2011-11-17 66 views
0

我運行一個應用程序,其中一個滑軌3的應用程序,其中用戶創建一個子域 - > xxxxx.myapp.com更改公司場打進子域網址的jQuery

目前,註冊形式有這樣的領域,但最好我想讓用戶輸入他們的公司名稱,並使用jQuery或類似的東西自動創建其子域。

例如,

如果輸入公司名稱是羅傑斯電纜,子域將rogerscable或rogerscable。(理想情況下,這將更新每個按鍵,但也當表單域不再焦點woudl工作)

我確定必須有一個jquery庫或簡單的技術來做到這一點,但我是一個絕對的jQuery noob,所以我一直很難找到它。

感謝您的幫助提前。

回答

0
$('input').keypress(function (event) { 
    event = event || window.event; 
    var code = event.which || event.keyCode; 
    var char = String.fromCharCode(code); 
    if (! /^[a-zA-Z]+$/.test(char)) event.preventDefault(); 
}); 

a fiddle to play

和一個變化版本:

$('input').change(function (event) { 
    this.value = this.value.replace(/[^a-zA-Z]+/g, ''); 
}); 

編輯別人有這種替代,用超時(注意,此版本接受 「 - 」)

$('input').keypress(function (event) { 
    setTimeout(function() { 
     var str = $('input').val().replace(/[^a-zA-Z\-]+/g, ''); 
     $('#domain').text(str); 
    }, 1);  
}); 
+0

下面是我結束了:http://jsfiddle.net/R74kS/ 25/ – steve

+0

看起來不錯。如果你想要一個完整的「按字符」,你需要處理keydown來獲得charcodes 8(backspace)和46(delete),但仍然需要按鍵來處理這個案例。此外,您需要event.target.selectionStart和event.target.selectionEnd以在正確的位置插入(或刪除)字符(如果用戶在字符串中間單擊)(或者如果替換選項,則爲positionS)。我的代碼是在某個地方,但是在凌晨4點,我需要4小時的睡眠。也許「明天」;) – roselan

+0

好吧,我下週會睡覺...... [檢查這個小提琴;]](http://jsfiddle.net/R74kS/28/) – roselan