
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ランキング
-
Outlookのアカウントがあるとメ...
-
jsonテキストデータの並び替え...
-
jsで、配列内の文章を改行する...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jspからjavascriptの変数引継ぎ
-
二次元配列を使って順位をだす...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
配列の格納
-
javascriptを用いて作成された...
-
splitで複数のキーワードで分割...
-
Perlの配列をJavaScriptに渡せ...
-
setTimeoutで関数に渡した配列...
-
JavaScriptの多次元配列(かつ...
-
Javaについて質問です。 要素数...
-
Javascript 配列の使い方について
-
【Google Apps Script】コード...
-
javascriptの引数と戻り値につ...
-
JSON.parse取得結果を必ずJavaS...
-
ページ内のみの検索窓(?)
-
【急ぎ】javascriptで、特定の...
-
JavaScript初心者です。繰り返...
-
(google apps script)スプレ...
-
助けてください‼︎ javascriptで...
おすすめ情報