jqueryとテキストの取得フォーム

このQ&Aのポイント
  • フォームのラジオボックスの値を文字列としてテキストボックスに入れたいと考えています。jqueryを使ってif分岐で実装する方法はありますが、よりスマートな方法はありませんか?
  • 具体的な方法は思い浮かばないですが、バリューの値を取得する方法があれば実現できるかもしれません。
  • jqueryが得意な方、フォームの値を取得する方法について知識のある方、ご教授いただけませんか?
回答を見る
  • ベストアンサー

jqueryとテキストの取得フォーム

フォームのラジオボックスの値を文字列としてテキストボックスに入れたいと考えています。 jqueryを使ってif分岐で長いものは書けるのですがもっとスマートにかけないかと考えています。 バリューの値を取れればと思っているのですが具体的な方法が思い浮かびません。 どなたかJQUERYが得意な方がおられましたらご教授願えませんでしょうか。 宜しくお願いします。 <script> function check1(){ $("#text1").val("Tシャツ"); } function check2(){ $("#text1").val("ロングシャツ"); } ・ ・ ・ </script> <form id="cse-search-box" action="http://google.com/cse"> <input type="hidden" name="ie" value="UTF-8" /> 袖丈 <input type="radio" name="a" onclick="check1();" value="Tシャツ" >Tシャツ <input type="radio" name="a" onclick="check2();" value="ロングシャツ" >ロングシャツ <input type="radio" name="a" onclick="check3();" value="キャミソール" >キャミソール パンツ <input type="radio" name="b" onclick="check4() value="ショートパンツ" >ショートパンツ <input type="radio" name="b" onclick="check5() value="チノパンツ" >チノパンツ <input type="radio" name="b" onclick="check6() value="ジーンズ" >ジーンズ <textarea id="text1" name="q" size="31" /></textarea> <input type="submit" name="sa" value="Search" /> </form>

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

  • ベストアンサー
  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

>ラジオボックス 一般にはラジオボタン、チェックボックスですね。 HTMLとJavaScriptは見通しを良くするために記述を分けることをお勧めします。 すわなち、onclickなどは書かずに$(セレクタ).on('click', function(){}); などと書くべきです。 // name属性がaのラジオボタンのチェッ変更時 $('[name="a"]').change(function(){ //$(this).val()はチェックしたラジオボタンのvalue $("#text1").val($(this).val()); }); 動作確認していませんが、このような感じかと。

makino03
質問者

お礼

ありがとうございます。やってみます。

関連するQ&A

  • ラジオボタンにチェックを入れて、テキストボックスのコメントを消すには

    どなたかお力を・・・ 宜しくお願いします。 メールフォームを作成していて、 テキストボックス入力欄 ○ラジオボタン01 ○ラジオボタン02 から、1箇所選択してもらうようにしてあります。 テキストボックスに始めから、例を記入してあるのですが、 ラジオボタンにチェックを入れた際に消えるようにしたいのです。 フォームのコメントを消すjavascriptは変更してもらっても構いません。 <INPUT type="text" name="あいうえお" onfocus="if (this.value == '例)Corneometer') this.value = '';" onblur="if (this.value == '') this.value = '例)テスト';" value="例)テスト"> <INPUT type="radio" name="かきくけこ" value="ラジオ01" onClick="check_reset(this,10)">ラジオ01 <INPUT type="radio" name="かきくけこ" value="ラジオ02" onClick="check_reset(this,11)">ラジオ02

  • jQuery 変数の使い方について

    jQuery 変数の使い方について 【やりたいこと】 ラジオボタンが複数ある為現在のアクションをまとめたい。 ■ $("input:radio[name='radio01']:checked").val(); の'radio01'の部分に変数を使いたい。 ■document.forms["MON"].hradio02.value の"MON"のフォーム名と、「hradio02」name部分に変数を使いたい。 http://kaicoo.blogspot.jp/2012/03/query_30.html 等を参考に元のソースから JSをまとめてみましたが、うまくいきません。 jQuery内の変数の記述方法を 教えていただけませんでしょうか? よろしくお願いいたします。 ★JSをまとめたサンプルソース <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <script src="jquery.js"></script> <script type="text/javascript" language="JavaScript"> <!-- function setVal(obj) { var formname = obj.form.name; var radioname = obj.getAttribute('name'); alert(formname); alert(radioname); //選択したラジオのvalueをhiddenに格納する document.forms[formname].h '+ radioname +' .value = $("input:radio[name='+ radioname +']:checked").val(); alert(document.forms[formname].h '+ radioname +'.value); } //--> </script> </head> <body> <table border="1"> <FORM name="MON"> <tr> <td> 結果: </td> <td> <input type="radio" name="radio01" value="良好" onClick="setVal(this);" >良好 <input type="radio" name="radio01" value="不良" onClick="setVal(this);"> 不良 <input type="hidden" name="hradio01" value="未入力です。"> </td> </tr> <tr> <td> 結果2: </td> <td> <input type="radio" name="radio02" value="良好" onClick="setVal(this);" >良好 <input type="radio" name="radio02" value="不良" onClick="setVal(this);"> 不良 <input type="hidden" name="hradio02" value="未入力です。"> </td> </tr> </table> </Form> </body> </html> ★元のソースのサンプル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <script src="jquery.js"></script> <script type="text/javascript" language="JavaScript"> <!-- function setVal_01(obj) { document.forms["MON"].hradio01.value = $("input:radio[name='radio01']:checked").val(); alert(document.forms["MON"].hradio01.value); } //--> </script> <script type="text/javascript" language="JavaScript"> <!-- function setVal_02(obj) { document.forms["MON"].hradio02.value = $("input:radio[name='radio02']:checked").val(); alert(document.forms["MON"].hradio02.value); } //--> </script> </head> <body> <table border="1"> <FORM name="MON"> <tr><td> 結果: </td> <td><input type="radio" name="radio01" value="良好" onClick="setVal_01(this);" >良好 <input type="radio" name="radio01" value="不良" onClick="setVal_01(this);"> 不良 <input type="hidden" name="hradio01" value="未入力です。"> </td> </tr> <tr> <td> 結果2: </td> <td> <input type="radio" name="radio02" value="良好" onClick="setVal_02(this);" >良好 <input type="radio" name="radio02" value="不良" onClick="setVal_02(this);"> 不良 <input type="hidden" name="hradio02" value="未入力です。"> </td> </tr> </table> </Form> </body> </html>

  • ■フォームのテキストで書かれた数字を受け取るにはどうすればいいのでしょうか?

    HTML内で <form> <input type="text" name="a" value="a"> <input type="button" name="b" value="b" onClick="zzz()"> <input type="text" name="c" value="c"> </form> 外部JavaScript内で function zzz() {  フォームのテキストaの中に打ち込んだ数字を受け取って、テキストcの中に表示させる関数 } 上記のようなことをしたいのですが(意味がないと言われてしまえばそうです^^;)やり方を教えていただけないでしょうか? あと、フォームの内容がよくわからないので、勉強できるサイトなどありましたら教えていただけないでしょうか? 現在わかっているのは、typeが形を作るってことと、onClickがボタンを押したときのことっていうだけです。 name valueとかまったく意味不明です。 最後に、ボタンをマウスでクリックしなくてもエンターキーを押すだけでクリックしたことになる方法を教えていただければ幸いです。 よろしゅうお願いします!

  • テキストフォームのチェックについて

    テキストファームの内容チェックについて教えてください。 下記コードで取得したURLをテキストフォームに表示させ「onclick」でiframeに画面を表示させています。 これを、テキストファームが書き換わった段階で、実行することは できないでしょうか? (テキストフォーム内のURLが書き換わったら、その内容をチェック して、iframeにそのURLの画面を表示する) <html> <form name="f1"> URL:<input type="text" name="url" size="60" value="" /> <input type="button" value="このURLへ移動" onclick="target_name=***.location.href=this.form.url.value"> </form> <script type="text/javascript"> function set_latlng() { document.f1.url.value="http://***.***.****" /script> 以上、宜しくお願い致します。

  • WEBの入力フォームについて

    昨年の同じ時期に入力フォームについて質問し、回答をいただいたのですが、少し使い勝手を改善したく再度質問いたします。 テキストボックス A ラジオボタン 1、2、3 テキストボックス B テキストボックスAに入力後、ラジオボタンで2を選択すると、テキストボックスBに自動的に入り、1及び2の場合はブランク(入力不可)というものです。 以下が前回回答をいただいたものです。 改善したいところは、最初にこのファイルを呼び出したときにはテキストボックスBに入力できてしまうところです。その後ラジオボタンを動かすと2選択以外には入力はできなくなりますが、はじめから入力不可にしたいと思っています。(ラジオボタンの初期値は1です。) また、2を選択後、テキストボックスBにカーソルを当てると左下のステータスバーにエラーと表示されるのはしかたのないことでしょうか。(テキストを修正することもありえるので、2を選択した場合は自動で入りつつ修正もできるようにしたいです。) 以上、よろしくお願いします。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY> <script language="JavaScript" type="text/JavaScript"> function copyab(f){ f.elements["name3"].disabled=false; f.elements["name4"].disabled=false; f.elements["name3"].value=f.elements["name1"].value f.elements["name4"].value=f.elements["name2"].value; } function clearb(f){ f.elements["name3"].value=""; f.elements["name4"].value=""; f.elements["name3"].disabled=true; f.elements["name4"].disabled=true; } </script> <FORM>A1 <INPUT type="text" name="name1"> A2<INPUT type="text" name="name2"><BR> 区分 <INPUT name="address" type="radio" value="1" onclick="clearb(this.form)" checked> 1 <INPUT name="address" type="radio" value="2" onclick="copyab(this.form)"> 2 <INPUT name="address" type="radio" value="3" onclick="clearb(this.form)"> 3<BR> B1<INPUT type="text" name="name3" onfocus="if (!agree)this.blur();" onchange="if (!agree)this.value='';"> B2<INPUT type="text" name="name4" onfocus="if (!agree)this.blur();" onchange="if (!agree)this.value='';"> </FORM> </BODY> </HTML>

  • 複数のテキストボックスでインデックスを取得する方法

    htmlでテキストボックスを複数作り、そのうちの一つの テキストボックスをクリックすると、Javascriptで そのテキストボックスのインデックスを取得したい思います。 ソースは簡単ですが、以下の通りです。 サンプルとして5つテキストボックスを作成していますが、 実際は不特定(データの読み込み件数)です。 onclick="hoge(???);" の???の部分に、テキストボックスのインデックスを書きたいのですが。。。 リストボックスだと、selectedIndexで取得できるようなのですが、 テキストボックスはどのような関数を使えばいいですか? <html> <head>   <script language="javascript">     function hoge(index){     alert(index);   }   </script> </head> <body>   <input type="text" name="hoge" onclick="hoge(???);"><br>   <input type="text" name="hoge" onclick="hoge(???);"><br>   <input type="text" name="hoge" onclick="hoge(???);"><br>   <input type="text" name="hoge" onclick="hoge(???);"><br>   <input type="text" name="hoge" onclick="hoge(???);"><br> </body> </html>

  • フォームに入力したデータの受け渡しについて

    左右に分かれたフレームを使用したページ作成を検討しています。 左フレーム内のフォームへ入力したテキストやチェックボックスのデータを、 右フレームに設置した1つのテキストエリアへコピーボタンで受け渡しを行う方法を探しています。 テキストボックス1行だけの受け渡しはできるのですが、 複数のテキストエリアやチェックボックスを使用した場合の受け渡し方法をご教示いただきたけますでしょうか? 左フレームとしては↓のような内容を想定しています。 <html> <form> テキスト:</br> <input type="text" name="aaa" /></br> ラジオ:</br> <input type="radio" name="bbb" value="radio1" checked="checked" /> ラジオ1 <input type="radio" name="bbb" value="radio2" /> ラジオ2</br> チェック:</br> <input type="checkbox" name="ccc" value="check1" /> チェック1 <input type="checkbox" name="ccc" value="check2" /> チェック2</br> 選択項目:</br> <select name="ddd"> <option>A</option> <option>B</option> </select></br> テキストエリア</br> <textarea name="eee" rows="2" cols="15">テキストエリア1</textarea> </br> <input type="submit" value="送信" />  <input type="reset" value="リセット" /> </form> </html> よろしくお願いいたします。

  • ラジオボタンとテキストを同時にグレーアウトさせる

    <input type=radio name="1" value = 'A1'">A1<br> <input type=radio name="1" value = 'A2'">A2<br> <input type=radio name="1" value = 'A3'">A3<br> <input type=radio name="1" value = 'A4'">A4<br> <input type=radio name="1" value = 'A5'">A5<br> <form> <input type=radio name="tex" onClick="textform.textin.value = 'B1'">B1<br> <input type=radio name="tex" onClick="textform.textin.value = 'B2'">B2<br> <input type=radio name="tex" onClick="textform.textin.value = 'B3'">B3<br> <input type=radio name="tex" onClick="textform.textin.value = 'B4'">B4<br> <input type=radio name="tex" onClick="textform.textin.value = 'B5'">B5<br> </form> <form id="textform" action="#"> ここに文字が表示されます <input id="textin" type="text" size="30"> </form> A1を選択した場合、B2とB4とテキストエリアをグレーアウトさせる A2を選択した場合、B3とテキストエリアをグレーアウトさせる この記述の方法がわかりません。 初心者ですので、どなたかご教授おねがいします。

  • 複数のラジオボタンのチェック

    複数のラジオボタンが全て選択されているかどうかのチェックのJavaScriptをすっきりした形で書くのは、どうしたらいいでしょうか? 下記のようですと、ダラダラと記述するようになってしまいます。 どなたかご教授ください。 --------------------------------------- <script type="text/javascript"> function insert_onClick() { j=0; for (i=0 ;i < document.F1.a11.length ; i++){ if (document.F1.a11[i].checked) { j=1; } } } </script> <form action="check.php" name="F1" onsubmit="return insert_onClick()"> 各valueは0~4まであります <input type="radio" name="a11" value="0"> <input type="radio" name="a12" value="0"> <input type="radio" name="a21" value="0"> <input type="radio" name="a22" value="0"> <input type="radio" name="b11" value="0"> <input type="radio" name="b12" value="0"> <input type="radio" name="b21" value="0"> <input type="radio" name="b22" value="0"> ---------------------------------------

  • 特定のラジオボタンが選択されたらテキストフィールドを入力可

    下のような6つのラジオボタンと1つのテキストフィールドのあるフォームがあります。 「あ・い・う・え・お」のラジオボタンが選択されたらテキストフィールドをdisabledに、「か」なら入力可能にしたくて、JavaScriptで次のように記述しました。 一応動作しているように見えるのですが、見よう見まねで書いた初めてJavaScriptなので大丈夫なのか不安です。これで良いのでしょうか。 function txtClose () { if (document.f_frm.motive[5].checked) { document.f_frm.motive_add.disabled = false; } else { document.f_frm.motive_add.disabled = true; } } <form name="f_frm"> <input type="radio" name="motive" value="あ" onclick="txtClose();" />あ<br /> <input type="radio" name="motive" value="い" onclick="txtClose();" />い<br /> <input type="radio" name="motive" value="う" onclick="txtClose();" />う<br /> <input type="radio" name="motive" value="え" onclick="txtClose();" />え<br /> <input type="radio" name="motive" value="お" onclick="txtClose();" />お<br /> <input type="radio" name="motive" value="か" onclick="txtClose();" />か<br /> <input type="text" name="motive_add" size="20" maxlength="40" onclick="txtClose();" /> </form>

専門家に質問してみよう