• ベストアンサー

コードを入力して、文字を表示させたい(javascript)

凄く悩んでいるのですが、良かったら教えてください。 入力フォームに コード 101 と入力したら、そのすぐ横に 配列から検索して、『オレンジ』と表示させたい のですが、どうもうまくいきません。 教えてください。 var koumoku = new Array('100','101','102'); var name = new Array('りんご','オレンジ','メロン'); 入力したものと、配列koumokuの中のコードと比べて 同じコードがあった場合、配列nameから「オレンジ」 を表示させたいのです。 for文等を使い、表示させたいです。 実は、かなりこの配列が長いので・・・ ご伝授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

<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 onChange="sample(this.form)"> <SPAN ID="ans"></SPAN> </FORM> </BODY> </HTML>

sara555
質問者

お礼

回答有難うございました。 教えていただいた方法で、解決しました。 本当に有難うございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Y_eRu
  • ベストアンサー率32% (33/101)
回答No.4

こんにちわ(o^-^o) こんな感じではどうでしょう? <!-- function checkNo(){   var text = document.f.No.value;   var ans = "";   for(var i=0; i< koumoku.length; i++){    if(koumoku[i] == text){     ans = name[i];     break;    }   }   document.all.item("ans").innerText = ans; } --> <form name="f">  <input type="text" name="No" onChange = "checkNo();">  <span id = "ans"></span> </form> これなら配列をいじるだけです(≧ω≦)b 失礼しましたm(_ _)m

sara555
質問者

お礼

回答有難うございました。 教えていただいた方法で、解決しました。 本当に有難うございました。

すると、全ての回答が全文表示されます。
回答No.2

テキストボックスがお嫌なら、 spanタグとinnerTextの組み合わせでいけると思います。

sara555
質問者

補足

torakiyojpさん、たびたびの 回答ありがとうございます。 テキストボックスがお嫌なら、 spanタグとinnerTextの組み合わせでいけると思います。との事ですが、どのように組み合わせたら 良いのでしょうか? 良かったら教えて下さい。

すると、全ての回答が全文表示されます。
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

暇つぶしに作ってみました。 JavaScriptは配列の添え字に文字列も使えるので、下記の様にするとシンプルですね。 ご希望はfor文を使いたいというのには添えませんが・・・。(笑) <HTML> <BODY> <SCRIPT LANGUAGE=JavaScript> <!-- function sample(f) { var sample = new Array() sample['100'] = 'りんぐ' ; sample['101'] = 'オレンジ' ; sample['102'] = 'メロン' ; f.ans.value = sample[f.code.value] ; } // --> </SCRIPT> <FORM NAME=f> <INPUT NAME=code SIZE=4 onChange="sample(this.form)"><INPUT NAME=ans SIZE=10 READONLY> </FORM> </BODY> </HTML>

sara555
質問者

補足

早速の回答有難うございます。 質問ですが、 <FORM NAME=f> <INPUT NAME=code SIZE=4 onChange="sample(this.form)"><INPUT NAME=ans SIZE=10 READONLY> のなかの <INPUT NAME=ans SIZE=10 READONLY> ではなく、 document.write(f.ans.value)のようにして、 表示したいのですが、エラーになります。 <SCRIPT LANGUAGE="JavaScript"><!-- sample(); // --> </SCRIPT> 何か良い方法はありますか?

すると、全ての回答が全文表示されます。

関連するQ&A