コーディングルールについて

このQ&Aのポイント
  • javaScriptにて、名前に割り振られている数字を文字列として認識させたい方法についての質問です。
  • また、domオブジェクトへ値を入力する際のコーディング方法についても質問しています。
  • どなたかご教授いただけると幸いです。
回答を見る
  • ベストアンサー

コーディングルールについて

初歩的な質問で申し訳ありません。 javaScriptにて、名前に割り振られている数字を文字列として認識させたいのですが、どのようなコーディングをすればよいのでしょうか? 以下例文です。 _______________________________________________________________ var text1 = 1 var text2 = 2 var text3 = 3 var text4 = 4 var text5 = 5 var text6 = 6 var text7 = 7 var text8 = 8 var text9 = 9 var text10 = 10 for( count = 1 ; count < 10; count++){ alert(text(1~10までcountを文字として認識させたい)) } ____________________________________________________ やりたいこととしては単純で、text1,text2...と続く名前の数字部分を、変数であるcountで表現したいです。 はじめは()や[]で表現すればよいと考えていたのですが、どうにも違うようで。。。どなたかご存じの方がいらっしゃいましたら、教えてください。 もう一つ同類の質問として、 domオブジェクトへ値を入力する際のコーディング方法もあります。 例えば、 document.form1.chkItem[count].checked = true; というコードにて、chkItem[count]の、chkItemと[count]の間に文字を連結させたい場合、どのような記述をすればよいのか。。。 中々先に進めなくて困っています。 どなたか、申し訳ありませんがご教授ください。

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

evalを使えば、変数を使って表現した変数にアクセスできます。 例) ----------------------------------------------------------------- for (count = 1; count <= 10; count++) { alert(eval('text' + count)); } --------------------------------------------------------------------- しかし、コードが分かり難くなりますので、配列を使った方がよろしいかと。 例) ----------------------------------------------------------------- var text = new Array(); text[1] = 1; text[2] = 2; for (count = 1; count <= 2; count++) { alert(text[count]); } --------------------------------------------------------------------- もう一つのご質問に関しても、evalを使えば出来るとは思いますが・・・。

yukke33
質問者

お礼

ありがとうございます。 evalについて、確認することができました。 なるべく配列を利用できるようにしたいと思います。

関連するQ&A

  • カウントをマイナスにしたい。

    function setAdvancePos(){ if(text1typeend == 0){return;} var count = 0; for(i=0; i<str_posk; i++){ if((advance_text[text_pos].charAt(i) != ">") && (advance_text[text_pos].charAt(i) != "")){count++} } str_posa = count; } ↑は打鍵トレーナーです。(JavaScriptで書かれています) 「advance_text[text_pos]の i+1 文字目が ">" でもなく、 "" でもない場合の処理ではcountが++されないようになっております。これに、「advance_text[text_pos]の i+1 文字目が "<"だった場合はカウントが+2される処理も追加したいのですが、どのように書けばよろしいのでしょうか? 前回も同様の質問をさせて頂きましたが、質問内容が間違えておりましたので、再質問させていただきました。JavaScriptは素人のため上手く説明することができません。上記内容では意味不明な場合はtyping.cgiの1155行目辺りですので、お手数ですがスクリプトをご覧になってみてください。どうぞ宜しくお願いいたします。

  • フレームワークによってどうしてもname属性がa[1].bになってしまうとき

    現在Strutsにて開発中です。 Strutsのiterateの中にチェックボックスが存在します。 次の画面にてチェックが入ったか入っていないかを判断するために、チェックボックスはどうしても <html:checkbox name="selectTimesInfo" property="selectTimes" value="1" indexed="true"/> とうい形で宣言しなくてはなりません。 そうするとHTMLに変換された際、 <input type="checkbox" name="selectTimesInfo[14].selectTimes" value="1" checked="checked"> といった形で name="selectTimesInfo[14].selectTimes" となってしまいます。 ([]ないの数字は、iterateで回る数分増えていきます。) いっせいに、チェックをつけたり、消したりすることをjavaScriptにて行いたいのですが、name属性が普通と異なるため、うまくいきまん。 現在、 function BoxChecked(check){ var count; var inform; var name; for(count = 0; count < 15; count++){ inform = document.MainForm; name = "selectTimesInfo["+count+"].selectTimes"; inform.name.checked = check; } } といった内容でこころみてはいるのですが・・・。 どなたか対処方ご存知でしたら教えてください。

  • COUNT関数に文字列を認識させる方法。

    COUNT関数に文字列を認識させる方法を教えて下さい。 設定したい状況は、例えばA1からA15に従業員の名前を入力して、A16はCOUNT関数を設定して、A1からA15の文字列を読み取って15人と表示される様にしたいんです。名前じゃなくて数字だったら設定出来るんですけど、名前を読み取る様にしたいと思っています。宜しくお願い致します。

  • javascript 生成される文字列の削除

    pop(); を使えばいいのか、他の方法があるのか 困っています DOMで改行を加えたテキストを生成していきますが 修正のボタンを設置したいと考えています。 input type button onclick="DelTxt();" で生成されたテキストの最後の行を削除、、、したいのですが うまく動きません function setChars(text) { var myTextElement = document.getElementsByName("myTEXT").item(0); if (myTextElement.value) { myTextElement.value += "\n"; } myTextElement.value += text; } 削除 functiion DelTxt(){  var myTextElement = document.getElementsByName("myTEXT") myarray[0] = new array このあとの記述がわかりません。。 pop(); を使って最後の文字列のみ削除をしたいです。 ご教授よろしくお願いいたします

  • jQuery datepickerを複数使いたい

    javascript で行を追加するDOMを作成しました。 最初の1回だけdatepickerで日付をクリックすると該当のテキストボックスに日付が問題なく代入されます。 追加ボタンをクリックで行を追加した際にもjQuery datepickerを動作させるにはどうしたら良いでしょうか? function add() { var objTBL = document.getElementById("request_tb" + num); if (!objTBL) return; var count = objTBL.rows.length; // 最終行に新しい行を追加 var row = objTBL.insertRow(count); // 列の追加 var c1 = row.insertCell(0); var c2 = row.insertCell(1); var c3 = row.insertCell(2); // 各列に表示内容を設定 c1.innerHTML = '<span class="seqno' + count +'">第' + count + '日時</span>'; c2.innerHTML = '<input type="text" name="date' + count + '" class="datepicker'+ count+'" id="datepicker">'; c3.innerHTML = '<img src="img.gif">&nbsp;カレンダーで選ぶ</a>'; $('datepicker'+count).datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', changeYear: false, showButtonPanel: true, minDate:0 }); } <input type="button" id="add" onClick="add()" value="追加"> ご教授の程、宜しくお願いしますm(__)m

  • javascriptでテキストエリアに独自タグを挿入したい

    javascriptでテキストエリアに独自タグを挿入したいと思ってます。 テキストエリアで選んだ文字を独自タグで囲むことまでできましたが 続けて囲いたい場合([b][d]****[/d][/b])に2回目の挿入が選択した文字だけでなく文全体になってしまいます。([b]**************[d]****[/d]*****[/b]) それと選択文字のない場合はカーソルの位置に ([d]打ち消し文字[/d])というように表示したいのに、カーソルの位置を無視して文章の一番最後に挿入されてしまういます。カーソルの位置に挿入するにはどうしたらいいでしょうか? カーソルの位置に挿入さえ正常になれば([d]打ち消し文字[/d])の形でなく([d][/d])でもかまいません。 大変困ってます。よろしくお願いします。 function InsertText(domobj, text) { if (domobj.createTextRange && domobj.caretPos){ var caretPos = domobj.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else if (domobj.getSelection && domobj.caretPos){ var caretPos = domobj.caretPos; caretPos.text = caretPos.text.charat(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else { domobj.value = domobj.value + text; } } function CodeLinethrough(id){ var select = document.selection.createRange(); var domobj = GetElementById(id); if(select.text == ""){ result = "[d]打ち消し文字[/d]"; InsertText(domobj, result); }else{ select.text = "[d]" + select.text + "[/d]"; InsertText(domobj, select.text); } domobj.focus(); }

  • VBAのループ

    初めて質問させていただきます。 今VBAでプログラムを組んでいるのですが たとえば dim a as string dim b as string result = mid(text,i,1) text="あいうえお1234あいうえお" Count = len(text) For i = 1 to Count  if mid(text,i,1) like "[0-9]" then a = result else b = result end if next というソースを書くと aやbの変数の中には もちろんのことながら文字と数字が交代で1文字ずつしか格納されてくれません。 result = mid(text,i,1)っていうのが悪いというのはわかるのですがどういじればいいかわからなくて・・ どうしたらaやbの中に続けて格納されてくれるでしょうか。 知恵をお貸しくださいm(_ _)m もしも足りない情報があればいってください。 なにぶんはじめたばかりなのでわからないことだらけでご迷惑をおかけしますがよろしくお願いします。

  • 黒背景で、白文字(リンク挿入)をフェードインするHTMLソースを教えて

    黒背景で、白文字(リンク挿入)をフェードインするHTMLソースを教えてください。 <head>の間に、 <script language="JavaScript"> <!-- var count = 0; var f3 = "0123456789abcdef"; function fadein(i) { if ( count < 16 ) { c = f3.charAt(i); document.fgColor = c + c + c + c + c + c; count++; setTimeout("fadein(count)",100); } } fadein(); //--> </script> </head> <body bgcolor="#000000" text="#ffffff"> 以上のタグを入れ、 <body bgcolor="#000000" text="#ffffff"> タグを<body>の代わりに置くと、リンク挿入されていない文字はフェードインされるのですが、リンク挿入文字は対応されません。 ソースをどのようにすれば、リンク挿入文字もフェードイン対応されるでしょうか。

  • アクセスでの

    Access2000を使用しています。 基本的なこととは思いますが教えてください。 テキストボックスの値を比べるVBAを組みましたが、 片方は文字列として、もう一方は数字として認識 されてしまうようで同じ値が入っているのに違う値 として認識されてしまいます。 (ブレークポイントを設定して中の値をみてみると me.txテスト1.value = "1" me.txテスト2.value = 1 となり異なる値と認識去れてしまいます) 書式設定はどちらのコントロールも何もしてありませんし、共に非連結 のテキストボックスです。 どのようにすればこれらの値が同じものとして認識してくれるでしょうか? お願いいたします。

  • actionscriptの配列について

    antionscript初心者ですが、配列について質問があります。 使っているソフトはadobe flash CS3 professionalです。 配列を利用する際に 入力テキストやダイナミックテキストを入れるということはできないのでしょうか? ↓入力テキストの方 Var x: Array=new Array(2); x[0]= ○○.text; x[1]= ●●.text; ↓ダイナミックテキストの方 Var y: Array=new Array(2); y[0]= □□.text; y[1]= ■■.text; そのあとボタンをクリックしたら for(var i : int =0; i<x.length; i++){ if(x[i]>=5){ y[i]="A" }else if(x<5){ y[i]="B" } } というように 入力テキストにいれられた数値に応じてダイナミックテキストに文字を表示させたいのですが、うまくいきません。初心者なので意味不明な質問になっているかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Flash