2012-03-15 13 views
0

現在、私は従業員が4桁の従業員番号と時計でタッチスクリーンコンピュータ(またはタブレット)パンチまで歩くことができる時間管理システムのプロジェクトに取り組んでいます。JQueryキーボードはテキストエリアの代わりに入力を設定しますか?

今私はJQueryではとても役に立ちました。このチュートリアルでは、ボタンを押したときにTextAreaフィールドに値を設定するJQueryキーボードを作成する方法について説明しました。

これは私のためにはうまくいきました。私は、フォームを扱ういくつかのPHPでチュートリアルを使用して私が望むものを達成することができました。

私が抱えている問題は、JQueryキーボードがテキストエリアにデータを入力し、入力フィールドにデータを入力する必要があることです。これは変えるのはかなり簡単なことだと思われますが、私の人生はそれを理解できません。

私はそれがjQueryのに来るとき、私はnoobのだ言ったように私の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); }); }); 

のためにすべてのヘルプは本当に、感謝されるだろうすばやく簡単なソリューションがあることを願っています。

ありがとうございます。

答えて

0

変更<textarea id="write" name="code" rows="6" cols="60"></textarea>入力フィールド内のテキストがHTMLではないので、あなたが入力を移入するために、)(.htmlをして、それを割り当てることはできません$write.val

+0

それはそれです!ありがとうございました!私はそれがjsで単純なものかもしれないと思った。答えとして – patskot

+0

がマークされている可能性があります。 – rickyduck

0

$write.htmlのすべてのインスタンスを置き換え

<input type="text" id="write" name="code" />へあなたのテキストを変更する必要があります。

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

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

以前のポスターと同様に.val()を使用してください。これはjQueryの方法です。