0

私は現在、従業員がタッチ スクリーン コンピューター (またはタブレット) まで歩いて行き、4 桁の従業員番号を打ち込んで出勤できる、時間管理システムのプロジェクトに取り組んでいます。

今、私は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に関しては初心者だと言ったように、どんな助けも本当に感謝しています。迅速で簡単な解決策があることを願っています。

皆さんありがとう。

4

2 に答える 2

0

<textarea id="write" name="code" rows="6" cols="60"></textarea>に変更<input type="text" id="write" name="code" />

のすべてのインスタンス$write.html$write.val

于 2012-03-15T14:42:29.833 に答える
0

入力フィールド内のテキストはhtmlではないため、.html()で割り当てることはできません。入力フィールドにテキストを入力するには、変更する必要があります。

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

これに。

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

または、前のポスターで述べたように.val()を使用するだけで、jQueryの方法です。

于 2012-03-15T14:45:09.753 に答える