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.〜.〜とかでも可能ですね。