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で質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
二次元配列の全要素の全要素を...
-
javascript 変数名の連結をしたい
-
React hooksが値を返して配列変...
-
順列生成アルゴリズムについて...
-
undefinedを表示させない方法は...
-
重複しないようにランダムで表...
-
同じ型【ハイフンと数字】だけ...
-
関数でy=g(x)のgとは何の略です...
-
ボタンをクリックすると数が増...
-
URLのパラメータを取得しリンク...
-
Excel VBA の ChangeFileAccess
-
idを使わずにonclickで自身の要...
-
getElementByIdを使用したグロ...
-
<a>タグのテキストを取得
-
DOM要素を削除しても、イベント...
-
ジェネレーターの作り方
-
HTML:Tableタグに対し、JavaScr...
-
javascriptでテーブルに追加し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
javascript 変数名の連結をしたい
-
jspからjavascriptの変数引継ぎ
-
配列の1要素を代入した変数を使...
-
JavaScriptにおける[] とか :...
-
フォーム入力値の重複チェック
-
javascriptで行を抽出したいです。
-
undefinedを表示させない方法は...
-
javascriptで2つのArrayの...
-
WSH(Jscript)でファイル一覧
-
JavaScriptでの動的な多次元配...
-
Perlの配列をJavaScriptに渡せ...
-
[JS] setAttributeで保存される...
-
JSONデータを50音順でソートしたい
-
二次元配列の全要素の全要素を...
-
javascriptを用いて作成された...
-
バナーのランダム表示(複数、...
おすすめ情報