javascriptの入力チェックについて
-
0 名前: kセイバー : 2006/07/18(火) 21:28 ID:7DVSic4A
- 現在javascriptで入力チェックプログラムを作っているのですが
下記のような文をJSPで組みtestを未入力に、test2に20文字入れて呼び出したときに両方のエラーメッセージがでます。
成功イメージはalert("項目に未入力の項目があります");だけポップアップが出たあと閉じるイメージです
IEのバージョンは6.02800.1106ISです
原因がわからなくて困っているのですが、どなたかご存知の方がいればご教授願えないでしょうか?
functin test(){
if(test.length<=0 ||test==null || test2.length<=0 ||test2==null){
alert("項目に未入力の項目があります");
window.close();
}
//strlenExはバイト数を返すメソッド
if(strlenEx(test)>10||strlenEx(test2)>10){
alert("項目の長さが長い項目があります");
window.close();
}
//サブミット処理
}
/* 文字列のバイト数を返すメソッド */
function strlenEx(str) {
var len = 0;
var i = 0;
str = escape(str);
for (i = 0; i < str.length; i++, len++) {
if (str.charAt(i) == "%") {
if (str.charAt(++i) == "u") {
i += 3;
len++;
}
i++;
}
}
return len;
}
-
1 名前: m035 ◆Wpzr1YKOiq : 2006/07/18(火) 21:28 [URL] ID:K4LL1oA9
- functin test(){
を
function test(){
にして、2つ目のifをelse ifにすると出来そうですが。
それと、test.lengthのような参照はやめたほうがよろしいかと思います。
このような方法での参照が時代遅れですし、関数名とかぶっているので。
idを振ってdocument.getElementById("test")とするか、document.forms["form名"].elements["test"]と参照したほうがいいでしょう。
-
2 名前: kセイバー : 2006/07/18(火) 21:28 ID:7DVSic4A
- お返事いただきありがとうございます、
else ifを使うという初歩的なことを忘れていました、
ありがとうございます
lengthの件については勉強してみます。