javascript&jquey style="ime-mode:disabled"があんまり役に立たない件
form送信時に、ユーザからの入力を半角英数字に制限したかったので
inputタグに style="ime-mode:disabled" を指定してみました。
IE7、火狐で確認したところ、想定どおり入力制限が効いていますが
Opera、チョロメではウンともスンとも効いていない…。
仕方ないので、javascrip側でForm送信時にも制限をかけることにしました。
以下コード
///////////////// //////form.html ///////////////// <form id="XXXXX" method="post" action="/send" onSubmit="return checkinput()" accept-charset="utf-8"> <input type="hidden" name="_method" value="POST" /> <p> <label for="XXXX">ログイン</label> <input name="XXXXX" type="text" id="User" class="txt" maxlength="10" style="ime-mode:disabled" /> </p> <p> <input type="submit" value="会員登録" /> </p> </form>
/////////////////////////// //////sample.js ////////////////////////// function checkinput(){ var errorStr = ""; //id var inp = $("#User").val(); if (!inp.match(/^[a-zA-Z0-9]+$/))errorStr = errorStr + "使用不可文字が含まれています。\n"; if (inp.length < 5 )errorStr = errorStr + "文字数が足りません。\n"; if(errorStr.length == 0){ return true; }else{ alert(errorStr); return false; } } /////////////////////////////////
正規表現を変えたい場合は、こちらからコピペしてつかえそう
http://befine.jugem.jp/?eid=29
var inp = $("#User").val();
のところはjqueryを使わずに、document.〜.〜とかでも可能ですね。