WordPress Javascriptでバーコード入力処理

Javascriptでバーコード入力処理

バーコードリーダーの入力は、何もしなくても入力される(ほぼキーボードと同じ)のですが、とりあえず入力処理の所を作ってみました。

手入力にも対応できるように英文字のチェックも簡単にですが入れてあります。特殊文字とかもほんとうはチェックしないといけないんだけど、まぁ、良いかなと……

一番上のテキストボックスは本来はhiddenタイプにして隠しテキストにしてしまいますが、テストなので見えるようにしました。

それからJavascriptそのままの処理とjQueryによる処理に別けてみました。jQueryの方が楽に処理(コーディング)できるけど、好みも有るので。
jQueryの「$」が少し気を付ける必要があるので、参考にしてください。

//本来は隠し入力テキスト。半角数字のみ格納
<input type="text" id="hidden1" style="background-color:#aaa">

//javascriptで処理
<input type="text" id="text1" oninput="CheckInput()" onchange="setChange()">
<script>
  function CheckInput(){ 
    //全角英文字チェック
    if(document.getElementById("text1").value.match(/[A-Za-zA-Za-z]/g)){
      alert("英文字が入っています。");
      return;
    }
    if (document.getElementById("text1").value.length == 13){
    //全角英数字を対象に置き換え
document.getElementById("hidden1").value=document.getElementById("text1").value.replace(/[A-Za-z0-9]/g,function(s){
        return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
      });
    }
  }
  function setChange(){
   //全角英数字を対象に置き換え
    if (document.getElementById("text1").value.length == 13){
document.getElementById("text1").value=document.getElementById("text1").value.replace(/[A-Za-z0-9]/g,function(s){
        return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
      });
    }
  }
</script>

//jQueryで処理
<input type="text" id="text2" autofocus="">
<script type="text/javascript">
  jQuery(function($){
    $("#text2").on({
      "keyup": function(e){
//全角英文字チェック
        if($(this).val().match(/[A-Za-zA-Za-z]/g)){
          alert("英文字が入っています。");
          return;
        }
        if ($(this).val().length == 13){
        //全角英数字を対象に置き換え
         $("#hidden1").val($(this).val().replace(/[A-Za-z0-9]/g,function(s){
             return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
           }));
        }
      },
      "change": function(e){
        if($(this).val().match(/[A-Za-z0-9]/g)){
         $(this).val($(this).val().replace(/[A-Za-z0-9]/g,function(s){
             return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
           }));          
        }
      }
    });
  });
</script>

実際の動きは下で。

と、書きましたが、他のWordPressで確認したjQueryのコードが全く動きません。
keyupイベントもchangeイベントも取れていない状況です。なぜかな?
ちなみにそのままのJavascriptは正常に動作しています。

このWordPressの環境(プラグインかな?いろいろ入れてるので、チェックが面倒で……)ではjQueryが動かないので、上のコーディングからjQueryの部分をカットします。jQueryの方が楽にコーディングできるけど、動かないんじゃんダメですもんね……寂しい(;_;)


//本来は隠し入力テキスト。半角数字のみ格納 //javascriptで処理

バーコードリーダーは簡易システムでは使い勝手が良いので良く使われると思います。

ただデータがキー入力バッファに溜まって一度にやって来るようなイメージなので、後ろのイベント処理をキャンセルできるとキー入力バッファに溜まったデータを破棄できそうなんですが、私は上手くキャンセルできなかったので、全角でバーコードを読み込み、プログラムで半角に変換し、変換した文字列に置き換えるような処理にしても、半角バーコードの後ろに全角バーコードが付いてきてしまう不具合が出てしまいました。

Windowsプログラムだと綺麗に処理できた記憶が有るのですが、なかなか思ったような処理にならないものですね。
まぁ、ちょいちょいとコーディングしただけなので、きっと良いでが有ると思うので、どこかで見つけたら追記します。

以上、「WordPress Javascriptでバーコード入力処理」でした。

WordPress で Javascript を使ってみる

WordPressを登録プログラム(エントリープログラム)として利用するためには、Javascript を利用するのも手軽で良いです。今回は、試しで Javascript を使ってみました。

WordPress で Javascript

今回のお試しプログラムは簡単なもので、ボタンと入力テキストと出力領域の3つをHTMLで作り、ボタンがクリックされたら入力テキストの内容を出力領域に表示すると言う単純なものです。

早速下にHTMLとJavascriptで書いてみました。動くか試しにボタン1をクリックしてください。入力テキストを変更なども試してみてください。


ボタン1をクリックすると、テキスト1の内容が下の領域に書き込まれます。




ボタン1をクリックすると、ここが書き換わります

どうでしたか?ちゃんとJavascriptは動作しましたか?

WordPress で HTML を書くには

フォーマットの カスタムHTLM を利用して HTML を書きます。

WordPressでカスタムHTLM を利用して HTML を記述する
カスタムHTLM を利用して HTML を記述します

HTML の知識が有れば、少しのことならいろいろ出来ると思います。
一応、今回のHTML・Javascriptのコードを下に示しておきます。

<input type="test" id="t1" style="width:500px;" value="テキスト1:書き換えてからボタン1をクリックすると・・・">
<br>
<input type="button" id="b1" value="ボタン1" onclick="test1()">
<br><br>
<div id="d1" style="background-color:#EDF7FF">ボタン1をクリックすると、ここが書き換わります</div>
<script type="text/javascript">
function test1(){
  //alert("");
 document.getElementById( "d1" ).innerText= document.getElementById( "t1" ).value ;
}
</script>

PHP HTML Javascript の組み合わせでプログラム

PHP、HTML、Javascript の組み合わせで簡単なエントリーシートのようなもの、エントリーされた一覧表示と詳細表示、可能ならログインや返信、ステータス管理を持ったシステムを学習の一環として書いてみたいと思っています。

細かな画面制御やセキュリティ管理をするつもりがないのですが、始めてWordPressでシステムを構築する人の取り掛かりになればと思います。

以上、「WordPress で Javascript を使ってみる」でした。