2011-12-08 4 views
0

이 그냥 일반/막연한 질문이다, 내가 텍스트 영역이 있다면입력에서 문자를 서클로 변경할 수 있습니까?

...

<textarea class="mybox"> 
    myfirststring secondstring 
</textarea> 

은/첫 번째 문자열은 'myfirststring'를 입력 한 후 있도록 가능한 자바 스크립트/jQuery를 사용할 수 있나요 스페이스 바를 눌렀을 때 필드에 남아있는 텍스트를 암호로 변환하여 문자를 숨기고 싶은 것처럼 보호 텍스트로 변환 할 수 있습니까?

+0

그것의 단지 개인적인 실험을 위해, 단지보고 무엇을 내가 할 수있는 수 너의 대답을 볼 수 없었던 순간에 – Liam

+1

아. 나는 그것이 좋은 생각이라고 생각하지 않는다. 대답으로 내 의견을 추가했습니다. –

답변

2

이 뭔가를 시도 할 수 있습니다 : http://jsfiddle.net/reec7/2/

이 당신을 위해 무엇을 찾고있는 경우는, 좋은 시작이다 :

$(function(){ 
    $("textarea").keypress(function(e){ 
     if(e.which != 32) return true; 

     var words = $(this).val().split(" "); 

     // Make list 
     if(! $(this).data("list")) 
     { 
      $(this).data("list", []); 
     } 
     var list = $(this).data("list"); 

     // Save words 
     $.each(words, function(k, v){ 
      if(v.indexOf("*") == -1) 
      { 
       list.push(v); 
      } 
     }); 


     // Replace with * 
     $(this).val($(this).val().replace(/[^\s]/g, "*")); 
    }); 

    $("input:button").click(function(){ 
     var list = $("textarea").data("list"); 
     var str = ""; 
     $.each(list, function(k, v){ 
     str += v + "\n"; 
     }); 
     alert(str); 
    }); 
}); 
+0

백스 페이스 키를 눌렀을 때 "깨뜨림"(즉, * 실제 * 상태를 반영하지 않지만) 좋은 시작입니다. – jensgram

+0

아, 그거 멋지다, 함께 놀 수있는 뭔가를 준다. 고마워! – Liam

+0

문제가 해결되면 코드를 게시하십시오. – Niels

2

아마도 텍스트 영역 내부의 키 누르기 이벤트를 캡처하고 개별적으로 그 작업을 결정할 것입니다.하지만 나에게 나쁜 생각입니다. 사람들이 페이지를 떠나고 재 입력 할 때 거대한 문제에 빠지게됩니다.) 그리고 그것은 결코 원시 패스워드 필드처럼 잘 보호되지 않습니다.

두 개의 별도 텍스트 필드로 원하는 것을 수행 할 수있는 방법이 없습니까? 그 중 하나는 type="password"이며 사용자가 myfirststring을 첫 번째로 입력하면 동적으로 표시됩니까?

0

예, 가능합니다. 예를 들어, 입력 된 문자를 별표 (또는 관련 글꼴의 "원"으로 렌더링되는 문자)로 대체하고 실제로 JS 변수 또는 숨겨진 입력 필드에 입력 한 내용을 저장할 수 있습니다.

관련 문제