2012-03-15 3 views
0

임 직원이 터치 스크린 컴퓨터 (또는 태블릿)로 걸어서 4 자리 직원 번호를 걸어 시계를 넣을 수있는 시간 관리 시스템 프로젝트를 진행 중입니다.JQuery 키보드는 텍스트 영역 대신 입력을 채 웁니다.

지금은 아닙니다. JQuery에서 아주 잘 했으므로 버튼을 누를 때 TextArea 필드를 채우는 JQuery 키보드를 만드는 방법에 대한 자습서를 찾았습니다.

이것은 나를 위해 아주 효과적이었고 나는 폼을 처리하기 위해 PHP와 함께 튜토리얼을 사용하여 원하는 것을 얻을 수 있었다.

내가 겪고있는 문제는 JQuery 키보드가 텍스트 영역을 채우고 실제로 입력 필드를 채울 필요가 있다는 것입니다. 이건 아주 간단하게 바꿔야 할 것 같아요.하지만 내 인생을 생각할 수는 없어요.

내 HTML 양식 키보드에 대한

<form action="index.php" method="post"> 
<textarea id="write" name="code" rows="6" cols="60"></textarea> 

<ul id="keyboard"> 
    <li class="symbol"><span class="off">1</span></li> 
    <li class="symbol"><span class="off">2</span></li> 
    <li class="symbol"><span class="off">3</span></li><br /><br /><br /> 
    <li class="symbol"><span class="off">4</span></li> 
    <li class="symbol"><span class="off">5</span></li> 
    <li class="symbol"><span class="off">6</span></li><br /><br /><br /> 
    <li class="symbol"><span class="off">7</span></li> 
    <li class="symbol"><span class="off">8</span></li> 
    <li class="symbol"><span class="off">9</span></li><br /><br /><br /> 
    <li class="symbol-zero"><span class="off">0</span></li> 
    <li class="delete">Clear</li> 
</ul> 
     <input class="submit-in" type="submit" name="clock" value="In"> 
     <input class="submit-out" type="submit" name="clock" value="Out"> 

</form> 

JQuery와 것은

$(function(){ 
var $write = $('#write'), 
    shift = false, 
    capslock = false; 

$('#keyboard li').click(function(){ 
    var $this = $(this), 
     character = $this.html(); // If it's a lowercase letter, nothing happens to this variable 



    // Delete 
    if ($this.hasClass('delete')) { 
     var html = $write.html(); 

     $write.html(html.substr(0, html.length - 999)); 
     return false; 
    } 

    // Special characters 
    if ($this.hasClass('symbol')) character = $('span:visible', $this).html(); 
    if ($this.hasClass('symbol-zero')) character = $('span:visible', $this).html(); 
    if ($this.hasClass('space')) character = ' '; 
    if ($this.hasClass('tab')) character = "\t"; 
    if ($this.hasClass('return')) character = "\n"; 



    // Add the character 

    $write.html($write.html() + character); }); }); 

어떤 도움이 정말 내가 그것을 JQuery와에 올 때 내가 멍청한 놈이야 말했듯이, 감사하겠습니다 빠르고 쉬운 솔루션이 있기를 바랍니다.

감사합니다.

답변

0

변경 <textarea id="write" name="code" rows="6" cols="60"></textarea><input type="text" id="write" name="code" />

하려면 $write.val

+0

그게 전부! 고맙습니다! 나는 그것이 js에서 단순한 무언가일지도 모른다라고 생각했다. – patskot

+0

가 답변으로 표시되었을 수 있습니다.) – rickyduck

0

A 입력 필드 내의 텍스트 $write.html의 모든 인스턴스를 교체하는 것은 HTML되지 않습니다, 그래서 당신은 입력을 채울 수) .html 중에서 (로를 할당 할 수 없습니다 변경해야하는 텍스트가있는 입력란

$write.html($write.html() + character); 

$write.attr('value', $write.attr('value') + character); 

이전 포스터로 설명한 바와 같이 .val()을 사용하면 jQuery가됩니다.

관련 문제