• ベストアンサー

コードを入力して、文字を表示させたい(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

  • undefinedを表示させない方法はありますか?(javascript)

    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>

  • JavaScriptで コードを変数で指定し入力するには

    題名が少し変で分かりにくいですが 以下のようなコードを書いています <SCRIPT language="JavaScript"> function win_open(){// var cnt; var to1; var frm1; var i; cnt=25; for(i=6; i<=cnt; i++) { to1="document.hoge.koumoku" + i + ".value"; frm1="self.opener.document.hoge.koumoku" + i + ".value"; ここにto1で指定したテキストボックスに入れる = eval(frm1); } } </SCRIPT> 親から 子を開いて 子のスクリプトで 子のフォームへ親の値を代入したいのですが 25項目あるので 25行書くのもスマートでないから for文でやってみようと思ったのですが 親から値を取る方はeval関数でうまく取得できたのですが このフォーム内のテキストボックスに書く場合 eval関数だと 戻り値を指定するのだから エラーが返ってきます。 かといって document.hoge.koumoku" + i + ".value = eval(frm1); では構文エラーになってしまいました 何か他に関数があるのかよく分からないので 教えて頂けたらと思っています よろしくお願いします

  • AS3.0ですが、下記2つのコードの違いがわかりません。。

    AS3.0ですが、下記2つのコードの違いがわかりません。。 ↓こちらのコードは undefined になるのですが、 --------------------------------- var box:Array = new Array(); for(var j=0; j<1; j++){ for(var i=0; i<10; i++){ box[j] = new Array(); box[j][i] = i+j; } } trace(box[0][0]); ----------------------------------- ↓こちらのコードは値をとることが出来ます。 ----------------------------------- var box:Array = new Array(); for(var k=0; k<10; k++){ box[k] = new Array(); } for(var j=0; j<1; j++){ for(var i=0; i<10; i++){ box[j][i] = i+j; } } trace(box[0][1]); ----------------------------------- どういう理由で、値が取れるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • javascriptで入力フォームに日付を書いて曜日を表示させたい

    凄く悩んでいるのですが、良かったら教えてください。 入力フォームに 日付 『20040712』 と入力したら、そのすぐ横に 配列から検索して、『(月)』と表示させたい のですが、どうもうまくいきません。 教えてください。 テキストフォームに(月)と表示させたいのでは なく、<span>タグを使用して作成したいのです。 ご伝授お願いします。

  • ある文字を含む文字列のみ配列にする方法

    var_dump($text); を行うと array(1) { [0]=> string(XX) "あいさつ" } array(1) { [0]=> string(XX) "いい日旅立ち" } array(1) { [0]=> string(XX) "りんご、うまい" } array(1) { [0]=> string(XX) "メロン好き" } …… となるような変数 $text があり、そこから $key = array("ばなな","りんご","メロン"); の配列内にある文字列を含むものだけを新たに格納したいです。 自分では foreach($text as $value){ if(in_array($value, $key)){ $key_text[] = $value; } } と書いて試したのですが、NULLと返ってきてしまいます。 どうやって書けばいいか教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • javascriptの2次元配列をソートの仕方

    function word_grouping(data) { var code = data; //先頭についている”code="を除去 code = code.replace("code=",""); var = code.split(","); var alpha =new Array(); alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M']; //2次元配列作成 var array = new Array(); for (i =0; i < alpha.length; i++) { array[i] = [' ','0']: } //グループ名を格納 for( i = 0; i <alpha.length; i++){ array[i][0] = alpha[i] //0番目の項目から順番にグループごとに分ける for( i = 0; i < sp.length; i++){ group = sp[i].substring(0.1); //どのグループに所属しているか調べる for( j = 0; j < alpha.length; j++){ //一致したグループの配列にカウント+1していく if(group == array[j][0]{ array[j][1]++; } } } メモ ・spにはグループのどこかに所属する20個のキーワードが入っていてそれをグループに振り分けている ・グループ分けには”A001”のAだけみて振り分けています したいこと ・arrayに入ったキーワードの数を降順で並び替えたい 分からない所 ・2次元配列をsortする仕方 こんな感じなんです わかる方回答お願いします。

  • JavaScriptで2次元配列を扱う方法

    C言語を少しだけやっていました。 JavaScriptで2次元配列作りたいのですが、上手くいきません。 var array[5][5]; array[0][0] = 21; document.write(array[0][0]); ↑を実行しても「21」と表示されません。 new array()とか色々試しましたが上手くいかないので質問させていただきました。 教えてください!

  • JavaScriptで取得した値について

    初めまして、Etizenと言います。 早速質問なのですが、JavaScriptで 例えば、 <SCRIPT LANGUAGE="JavaScript"> <!--  var QS = new Array;  if (location.search.length > 1)  {   var m_Array =    location.search.substr(1).split("&");    for (idx in m_Array)    { QS.push(m_Array[idx].split("="));    }  } //--> </SCRIPT> という、配列でデータを取得した場合にこれを、HTMLの <input type="text" name="STFCD" Value> のValueの中に仕込むことは可能でしょうか? よろしくお願い致します

  • => と >=の違いは!?

    $name = array('りんご'=>'赤','メロン'=>'緑'); $name = array('りんご'>='赤','メロン'=>'緑');  以上試すと、リンゴの値が異なるのですが!? => と >=の違いは!?  PHP5.3以上を使用しています。   以下参考  http://www.phpbook.jp/func/var/index4.htmlから    自動キャストの影響か!?    よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPの配列をjavascriptへ渡したい

    PHPの配列をjavascriptの配列に渡したいのですがやり方がわかりません。 変数の渡し方ならわかるのですが配列はどう渡せばいいのでしょうか? for文を使って渡せばいいと思うんですがどうやればいいか分かりません。 <?php $filedata=file("data.txt");//javascriptに渡したい配列 ?> <script language="javascript"> var a=new Array();//PHPの配列をこの配列に入れたい </script> 何方か教えてください。

    • ベストアンサー
    • PHP