
undefinedを表示させない方法はありますか?(javascript)
コードを入力して、文字を表示させているのですが、
以下のソースになります。
その時に、イベント処理をonkeyupにしていて、
入力しているのと同時に表示させています。
その時に、1とか10とか入力している途中に、
undefinedが表示されてしまいます。
空白でもいいのですが、表示させない方法はありますか?
教えて下さい。
<SPAN>とinnerHTMLを使用しています。
<HTML>
<BODY>
<SCRIPT LANGUAGE=JavaScript>
<!--
function sample(f)
{
var sample = new Array()
sample['100'] = 'りんご' ;
sample['101'] = 'オレンジ' ;
sample['102'] = 'メロン' ;
document.getElementById('ans').innerHTML = sample[f.code.value] ;
}
// -->
</SCRIPT>
<FORM NAME=f>
<INPUT NAME=code SIZE=4 onkeyup="sample(this.form)"> <SPAN ID="ans"></SPAN>
</FORM>
</BODY>
</HTML>

No.2ベストアンサー
- 回答日時:
配列要素の存在をif文で判定して、入力されたキーを持つ配列要素があるときにはその配列要素の内容を、入力されたキーを持つ配列要素が未定義の場合には空白を、それぞれ表示させるようにする方法を取るのが良いのではないかと思います。
具体的には、下記のようなソースではいかがでしょうか。
<HTML>
<BODY>
<SCRIPT LANGUAGE=JavaScript>
<!--
var sample1 = new Array()
sample1['100'] = 'りんご' ;
sample1['101'] = 'オレンジ' ;
sample1['102'] = 'メロン' ;
function sample(f){
tgt=document.getElementById("ans");
if (sample1[f.code.value]){
tgt.innerHTML = sample1[f.code.value] ;
}
else {
tgt.innerHTML = "";
}
}
// -->
</SCRIPT>
<FORM NAME=f>
<INPUT NAME=code SIZE=4 onkeyup="sample(this.form)"> <SPAN ID="ans"></SPAN>
</FORM>
</BODY>
</HTML>
質問文のソースを元に、改変しました。 配列名と関数名が重複していたので配列名は変更してあります。 また、関数の処理ごとに配列を再定義するのも、個人的にどうかと思えたので、配列の定義は関数から出してあります。
こうすると、if文の条件で指定された配列が定義されているものかどうかを判定し、定義されている場合にはspan id="ans"を配列要素の内容で書き換え、そうでない場合にはspan id="ans"の表示を消去するようになると思います。
参考まで。
No.1
- 回答日時:
ーーーー質問のコード抜粋ーーーーー
function sample(f)
{
var sample = new Array()
sample['100'] = 'りんご' ;
sample['101'] = 'オレンジ' ;
sample['102'] = 'メロン' ;
//変更 Start
if(isNaN(parseInt(f.code.value,10)){
document.getElementById('ans').innerHTML =""
}else
document.getElementById('ans').innerHTML =
sample[f.code.value] ;
}
//変更 End
}
これで空白が表示します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
雪を降らせるみたいな、ゆらゆ...
-
javascript 変数名の連結をしたい
-
JavaScriptにおける[] とか :...
-
JavaScriptからPHPに配列を渡す...
-
総当りの配列を返す関数の作成
-
ジェネレーターの作り方
-
functionから別のfunctionを実...
-
クリックすると上に開くアコー...
-
XMLでのAttributeを持ったNode...
-
javascriptでiframeのURL変更は?
-
VC++のちらつき防止方法
-
ルパン
-
ASP+アクセスでのSQLコメントに...
-
アンカーリンクをクリックさせ...
-
C#OpenCv V4にのエラーに関する...
-
日本語入力の禁止
-
要素名がスペースを含む場合のj...
-
appendChildがieだとできない??
-
google apps scriptの終了のさせ方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
同じIDで定義した要素の配列を...
-
二次元配列を使って順位をだす...
-
Ascition Script2
-
配列番号を自動的に一括して入...
-
テトリス / 配列をブロックに...
-
空の配列に2次元配列の追加
-
undefinedを表示させない方法は...
-
javascriptで行を抽出したいです。
-
textareaに入力されたデータを...
-
Perlの配列をJavaScriptに渡せ...
-
助けてください‼︎ javascriptで...
-
javascript 変数名の連結をしたい
-
(google apps script)スプレ...
-
Javascript 配列の使い方について
-
JSON形式で取得した8桁の数字を...
-
行列データ?の文字列操作につ...
-
JSONデータを50音順でソートしたい
-
配列データの利用方法
おすすめ情報