チェックボックスのvalueをテキストに追加する方法

このQ&Aのポイント
  • チェックボックスをオンにすると、そのオンした順番でテキストの前にチェックボックスのvalueを追加していく方法について解説します。
  • チェックボックスをオフにすると、テキストからもそのvalueの値が消えるようにしたいです。良い方法はありますか?
  • 選択したチェックボックスのvalueをテキストの特定の位置に追加する方法と、チェックボックスをオフにしたときにvalueの値を削除する方法について詳しく説明します。
回答を見る
  • ベストアンサー

チェックボックスのvalueをテキストに追加したい

チェックボックスをオンにすると、そのオンした順番でそのチェックボックスのvalueをあるテキストの前に追加していきたいです。 下のように、テストという文字の前にチェックボックスのvalueを入力。 その際、チェックをオフにしたらテキストからも、そのvalueの値が消えるようにしたいのですが、 何か良い方法はありますか? 例えば、あいうの順番で選択すると、「あいうテスト」になって、いうあの順番で選択すると「いうあテスト」になり、 いのチェックボックスをオフにすると、「あうテスト」や「うあテスト」になるようにしたいです。 □ あ □ い □ う text1=あいうテスト

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

どう使うのかわからないけどとりあえずサンプル。 (テキストボックスの初期値、各checkboxのvalueは全て違うもの、という前提です。) <html> <head> <title></title> <script type="text/javascript"> function sample(obj){ var result = document.getElementById('RESULT'); var addValue = result.value.replace(result.defaultValue,''); if(obj.checked) { addValue += obj.value; } else { addValue = addValue.replace(obj.value,''); } result.value = addValue + result.defaultValue; } </script> </head> <body> <p> <input onclick="sample(this)" type="checkbox" value="あ">あ <input onclick="sample(this)" type="checkbox" value="い">い <input onclick="sample(this)" type="checkbox" value="う">う </p> <p> <input type="text" id="RESULT" value="test"> </p> </body> </html>

HAWAI777
質問者

お礼

steel_grayさん ありがとうございます!!! ばっちり、思いどおりの動きです!!! 感謝します>< とっても助かりました!!

関連するQ&A

  • チェックボックスのvalueを、テキストボックスに挿入したい

    文末のように、4つのチェックボックスと1つのテキストボックスがあります。 (1) チェックボックスのチェックに伴い各チェックボックスのvalueを そのままテキストボックスの方に転記したいです。 (2) 逆に、チェックが外れたら、該当する valueをクリアしたいです。 (3) 鉄道~航空の一つ以上にチェックが入っている間、テキストボックス自体 をreadonlyにし、手動でいじれなくしたいです。 逆に、全てのチェックが解除されている間は、自由記述可能です。 (4) チェックする前に何らかの値が入っていたら、それらは強制クリアして、 valueの方を優先したいです。 イメージとして、「鉄道」と「航空」にチェックが入ったら、テキストボックスの値は 「新幹線 在来線 ヘリコプタ ジャンボ 」となります。 現在、テキストボックスはReadOnlyです。 そして「鉄道」の方だけチェックが解除されたら、テキストボックスの値は 「ヘリコプタ ジャンボ 」となります。テキストボックスは、まだReadOnlyです。 さらに「航空」のチェックも解除されたら、テキストボックスの値は 空白「」となります。テキストボックスのReadOnlyも解除されます。 <html> <head> </head> <body> <form method="post" action="samp.php" id="query" name="query"> <input type="checkbox" class="norimono" name="norimono[]" value="新幹線 在来線 ">鉄道 <input type="checkbox" class="norimono" name="norimono[]" value="軽 セダン クーペ ">四輪車 <input type="checkbox" class="norimono" name="norimono[]" value="小型 中型 大型 ">二輪車 <input type="checkbox" class="norimono" name="norimono[]" value="ヘリコプタ ジャンボ ">航空 <input value="" size="50" type="text" name="keyword"> </form> </body> </html>

  • Accessのチェックボックスをオンにするには

    Access2000でフォームを作成し、テキストボックス1に入力した内容をチェックボックス1にオンの状態で表示させたいのですが、フォームビューでもチェックボックスがオンでもオフでもなくグレイの状態で表示されています。 かりにテキストボックスの入力値が”ABC"を入力したあと チェックボックス1にオンの状態にするには、 どのようなコードになりますか? public sub() if me.テキストボックス1.value = "ABC" then me.チェックボックス.value = ture じゃだめですよね? チェックボックスをオンにする方法と、テキストボックスがNULLだったらオフにする方法を教えていただけませんでしょうか?

  • チェックボックスでのvalue値のスペースについて

    HTMLのformからチェックボックスで選択された値をCGIに飛ばしデータファイル(cgiファイル)に保存したいのですが、 チェックボックスのvalueを複数選択するとvalue値の間にスペースが入ってしまいます。 正確にはデータファイルをterapadで開こうとすると、 「NULL文字を含むファイルです。NULL文字は半角スペースへ変換しました。」というアラートがでてvalue値の間に半角スペースが入ってしまいます。 <チェックボックスのHTML> <input type="checkbox" name="■" value="jpn" />日本 <input type="checkbox" name="■" value="usa" />米国 ■にはデータを保存する項目の番号が入っており、一つのチェックボックスでは同じ番号が入ります。 例えば■が1なら1番に保存されます。 日本と米国を選択し送信するとデータファイル上では「jpn usa」となってしまいます。 NULL文字とはデータの値がない場合に返される値だという認識なのですが、全てのチェックボックスを選択していれば、 「jpnusa」という形で送信されるものではないのでしょうか? データを送信する際、このNULL文字による半角スペースをなくしたいのですが、何か方法はありますでしょうか? やはりCGIファイルを編集しなければ不可能なのでしょうか? ご教授よろしくお願いします。

    • ベストアンサー
    • CGI
  • テキストボックスの入力チェック。

    Version 6.0 です。 テキストボックスに入力された値の中に任意の文字があるかどうかを判断する関数というのはあるでしょうか?InStrとかでやってみたのですが、If文を繰り返すことになってしまい、見難い状況です。 2つのテキストボックスに年月を入力させ、 "yyyymm"、"yyyym"、"yyyy/mm"、"yyyy/m" が入力可。入力した文字列に"/"があるかないかを判断し、あればそのままでIsDateでチェック。なければ、"/"を入れてIsDateでチェック、とさせたいです。 何か簡単なコードの書き方等あれば、ぜひ教えてください。分かり難いところがあれば、補足します。よろしくお願いします。

  • チェックボックスのvalue値の取得について

    過去の質問にいくつか似たようなものはあったのですが、解決出来ませんでしたので質問させて頂きます。cgiでページを作成しています。今回処理したい内容は、一覧表の複数のチェックボックスから、オンになっているvalue値を取得し、その値に一致するナンバーを使って別のファイルのデータを削除するといった処理です。 == html一部内容 == <form action='update.cgi' method='POST'> <input type='checkbox' name='del_0' value='0'> <input type='checkbox' name='del_1' value='1'> <input type='checkbox' name='del_2' value='2'> <input type='submit' name='submit' value='削除'> </form> == update.cgiの一部内容 == for($loop=2,$loop>=0,$loop--) { $del[$loop]=$in{'del_$loop'}; } データ数が多いのでループさせてすべてのチェックボックスのvalue値を取得したいと思っています。チェックボックスがオフの場合の扱いがいまいち分かっていません。一つずつ例えば $del_1=$in{'del_1'}; と代入していくとonのもののみ取得できます。しかしループにするとonの値も変数に入りません。 どんな方法でも良いので、すっきりとチェックボックスのvalue値を変数に取得する方法を教えてください。お願い致します。M(v_v)M

    • ベストアンサー
    • Perl
  • チェックボックスのvalue値のチェック

    POSTされたチェックボックスの値の検証はどのようにしていますか? 私はチェックボックスの表示とともにvalue値をセッションに入れといて、送信先のページで、POSTされたvalue値がセッションに含まれていればOK、含まれていなければイタズラと判定しているのですが、 もっと簡単にすむ方法があれば教えていただきたいです。

    • ベストアンサー
    • PHP
  • アクセス チェックボックスについて

    チェックボックスやコンボボックスを使って入力するようにすると、フィールドに入力できるのが値だけになってしまいます。値でなく、選択した文字列を入力したいのですが、どうやったらいいのでしょうか?

  • エクセルVBA チェックBoxとテキストBox

    VBA勉強中の者です。エクセル2010使用 前回も同じような件で質問したのですが、入力フォームを作成中。 数量表の入力ホームなので、出来るだけキーボードのテンキーでの操作が出来るようにと考えております。 チェックボックスのon/off でテキストボックスの入力の可否を出来るようにしています。これが7組あるとします。(チェックボックス1に対してテキストボックス1に数値が入力出来るように) 質問(1) チェックが入っていれば、呼応したテキストボックスへエンターキーで移動。 チェックを入っていなければ、エンターキーで次のチェックボックスへ移動するようにしたいのです。 質問(2) シートへの転記の際は、7組の間に『、』カンマを入れたいのですが、当然チェックのないものは必要ないので、カンマが要らない事になります。初心者の考えでは単純に条件式をその通り数書くことになるのかと思うとゾッとしますが、少しでも条件式を減らす方法があれば、ご教授願います。 分かり難くて、すみません。

  • チェックボックスを選択するとテキストボックスが表示

    質問失礼します。 チェックボックスが下記のようにある場合ですが、 どれかではなく複数選択で テキストボックスを表示させるにはどうしたらよいでしょうか? <input type="checkbox" name="example" value="" />テレビ ←チェックしたらテキストボックス表示 <input type="checkbox" name="example" value="" />新聞 ←チェックしたらテキストボックス表示 <input type="checkbox" name="example" value="" />CM ←チェックしたらテキストボックス表示 <input type="checkbox" name="example" value="" />その他 ←チェックしたらテキストボックス表示 色々なJavaScriptを試したのですが、 どうも挙動がおかしく、クリックを続けると表示がされたりできなかったり、 という具合になります。 それぞれテキストボックスを表示させたいチェックボックスに 反映できるJavaScriptをご教示願いますでしょうか? 宜しくお願い致します。

  • テキストボックスにフォーカスを当てる?

    こんばんは,すみませんよろしくお願いします。 テキストボックスにフォーカスを当てるには,例えば, TextBox1.SetFocus のようにするんだと思うのですが,テキストボックスに初期値が設定されていたときには,上記のようにすると,初期値のテキストの右側に線のようなポインタがテキストコントロール内にでてきます。 しかし,このような状態では,いったん初期値を消さないと,別の値に書き換えることは出来ません。 テキストコントロール内に初期の値として,何らかのテキストが入力されているとき,文字列が選択された状態になっていれば,即,別の値を入力することが出来ますので,ユーザーフォームをshowしたときに,テキストボックス内の初期値 (例えば,「ここに名前を入力してください」などの文字列) を選択した状態にしたいのです。どのようにすれば良いのでしょうか?何度もすみません。

専門家に質問してみよう