2011-11-17 4 views
0

는 내가 레일 사용자가 하위 도메인 생성 3 응용 프로그램 응용 프로그램 실행하고 -> xxxxx.myapp.com 현재변경 회사 필드

은, 가입 양식이에 대한 필드를 가지고,하지만 이상적 사용자가 회사 이름을 입력하게하고 jQuery 또는 이와 유사한 것을 사용하여 하위 도메인을 자동으로 만들도록하고 싶습니다. 입력 한 회사 이름 로저스 케이블의 경우 예를 들어

,

, 하위 도메인은 rogerscable 또는 rogerscable 될 것이다. (이상적으로 이것은 각 키 입력에서 업데이트되지만 양식 필드가 더 이상 초점이 맞지 않을 때)

이 작업을 수행하려면 Jquery 라이브러리 또는 간단한 기술이 있어야하지만 필자는 절대 jQuery 멍청한 놈, 그래서 그것을 찾는 데 어려움을 겪고있다.

미리 도움을 주셔서 감사합니다.

답변

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

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

편집 다른 시간 제한이 대안이 (""이 버전을 참고 수용)입니다

+0

다음은 내가 마지막으로 다룬 내용입니다. http://jsfiddle.net/R74kS/ 25/ – steve

+0

좋아 보인다. "문자로"전체를 원한다면, 문자 코드 8 (백 스페이스) 및 46 (삭제)을 얻기 위해 keydown을 처리해야하지만, 여전히 키 누르기가 필요합니다. 또한 올바른 위치 (사용자가 문자열의 가운데를 클릭 한 경우)에 문자를 삽입 (또는 삭제)하려면 event.target.selectionStart 및 event.target.selectionEnd가 필요합니다 (선택 항목이 바뀌면 positionS). 나는 어딘가에 그 코드를 가지고있다. 그러나 어딘가에있다. 그러나 그것은 4am 다. 그리고 나는 4 시간의 나의 잠을 필요로한다. 어쩌면 "내일";) – roselan

+0

글쎄, 나는 다음 주에 잠을 잘 것이다 ... [이 바이올린을 확인하십시오]] (http://jsfiddle.net/R74kS/28/) – roselan