• ベストアンサー

javascriptで取得した値をテキストボックスに・・・

IE5.5です。 javascriptで取得した値をテキストボックスに格納したいのですが、 うまくいきません。 <SCRIPT language="javascript"> var varVal=true </script> <form> document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); </form> javascriptが初心者でよくわからないのですが、 例えば <input type="hidden" name="myVal" value=varValに格納された値> といった書き方もできるのでしょうか? よろしくご教授願います。

  • sunnys
  • お礼率95% (176/185)

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

  • ベストアンサー
noname#99638
noname#99638
回答No.2

document.writeもJavaScriptのメソッドなので、Scriptタグで囲んでください。 <form> <SCRIPT language="javascript"> document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); </script> </form> 多分これで上手くいくかと…。 (HTMLはよくしらないため、type='hidden'の意味はよくわからなかったので…手元に辞書もないし… type='text'で確かめてみました→NN4.5) あとひとつ気になった点。 var varVal=true ですが、varは関数の中だけで使う変数を宣言するときに使います。 もしこの代入を何かの関数の中で書いていたら、document.writeのvarValとは違う変数に値を入れていることになります。 varVal=true にしてみて下さい。 ではがんばって下さい。

sunnys
質問者

お礼

親切に何度もアドバイスありがとうございます。 kana-tanさんの方法でなんとかなりそうです。 また質問すると思いますのでその時は宜しくお願いいたします。 ありがとうございました!

sunnys
質問者

補足

kana-tanさん、アドバイスどうもありがとうございます。 実は、ここに転記し忘れただけで、SCRIPTタグでくくってはあったのです。 でもやっぱりエラーになってしまいます。。 他にお気づきの点がありましたらまたアドバイスいただけると嬉しいです。 ※varは、関数の中でだけ使うんですね!知りませんでした・・。

その他の回答 (4)

回答No.5

実際にソースを実行してみたところ正しく動いていますね。 >テキストボックスはできていないみたいなんです もしテキストボックスを表示するのが目的なら INPUT TYPE='HIDDEN' → INPUT TYPE='TEXT' ですね。 マルチラインのテキストボックスなら <TEXTAREA> <SCRIPT> document.writeln(varVal); </SCRIPT> </TEXTAREA> となります。

sunnys
質問者

お礼

回答ありがとうございます。 最終的にはhiddenにするのですが、 デバッグのため、見やすくするためにtextを使っていたのでした。 説明不足ですみません。 また何かありましたら宜しくお願いします!

noname#99638
noname#99638
回答No.4

まず、どこでどんなエラーが出ているかを調べる必要があるかな~と思います。 >document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); 後でこの値を使うときにエラーになるのかということなので、その処理とエラーを正確に書いた方が回答が得られやすいと思います。 とここまで書いて、  vaue="+varVal+" これは  value="+varVal+" の間違いですか  ^^^^^ ということに気がついてのですが、いかがでしょう。

sunnys
質問者

お礼

ああ~すみません。。 それでした。 もっと眼を皿のようにしてみないとだめですね。 おかげさまで動きました。どうもありがとうございます!!

  • xruz
  • ベストアンサー率50% (72/143)
回答No.3

こんにちはsunnysさん、xruzです。 varValにtrueという文字列を入れたいならば、 var varVal="true"; と書いてみてはいかがでしょうか? var varVal=trueと書くとBoolean型のtrueが入ってしまうと思うんですが。。

sunnys
質問者

お礼

アドバイスありがとうございました。 また質問したときは宜しくお願いします!

sunnys
質問者

補足

xruzさん、アドバイスありがとうございます! 実は、varValに実際に入る値は、その前段階で色々処理した値が 入るので、ここに転記するのは無駄かと思い、 var varVal=trueと、単純に書いてみました。 紛らわしかったですよね、すみません。。 もちろん、var varVal="true"でも、var varVal="aaa"でもこの場合 かまわないのですが、その後の処理が動かなくて困っております・・。 何か他にもお気づきの点がございましたら、またアドバイスよろしくお願いいたします!

noname#1785
noname#1785
回答No.1

ボタンが押されたかしたときにコピーする、というのでいいのでしょうか? それなら、直接Valueに値を入れ込めばいいのでは。 <SCRIPT language="javascript"> function CopyValue(){  var varVal=true  document.frm.myVal.value = verVal; } </script> <form name="frm"> <input type="hidden" name="myVal"> <input type="button" onClick="CopyValue()" > </form> 画面読み込み時にセットするのであれば、 <BODY onload="CopyValue()"> でできるはずです。

sunnys
質問者

お礼

親切に教えていただいてありがとうございました。 なんとかなりそうです。 これからも宜しくお願いします!

sunnys
質問者

補足

HIROYOさん、アドバイスどうもありがとうございます。 ボタンでサブミットする方法と、ロード時に読み込む方法 両方試してみたのですが、エラーになってしまい、 テキストボックスはできていないみたいなんです。 何かお気づきの点があれば、補足していただけると嬉しいです・・・。

関連するQ&A

  • テキストボックスを無効にすると値が取得できない

    javascriptでこのようにテキストボックスを無効に してフォームを送信するとphp側でvalueの値が取得できないのですが、入力無効にすると valueは送られないんでしょうか? <form> <input type="text" id="sample" name="sample" value="値" /> </form> スクリプト .document.getElementById('sample').disabled = true; valueにはphpで値をセットし、それをテキストボックスで編集できないようにして 値を飛ばそうとしたのですがテキストボックスのvalueの値が来てないようです。 自分なりに考えたんですが、送信する瞬間だけ(submitボタンが押された時) テキストボックスを有効に戻すようにコードを書いているのですが これ以外で何かありますか? ---このように対処--- <form onsubmit="return disb()"> <input type="text" name="sample" value="値" /> </form> スクリプト document.getElementById('sample').disabled = true; function disb(f){ f.sample.disabled = false; }

  • javascriptで取得した値を、FORMで送信する

    いつもお世話になっております。 jspからwindow.openを使い、別ウインドウを表示しました。 別ウインドウでの質問です。 javascriptで前のページ(jsp)の情報を受け取り、それを次のページ(jsp)へFORM(POST)で送りたいのですが、うまくいきません。 ご教授下さい。 <HTML> <HEAD> <script type="text/javascript"> <!-- function sent() { var num = window.opener.document.aaa.number01.value; ここで前ウィンドウの情報を取得しています return num; } function sub() { document.bbb.submit(); } // --> </script> </HEAD> <BODY onload="sub()"> <form name="bbb" METHOD="POST" action="http://okwave.jp"> <input type="hidden" name="timeid" value=""> <input type="hidden" name="number00" value="1"> <input type="hidden" name="number01" value="sent()"> <!--<input type="hidden" name="number01" value="204038054776">--> 当たり前ですが、コメントにしている部分にすると次のページでうまくいきます。 </form> </BODY> </HTML>

  • テキストフィールドへの値の表示

    JavaScript初心者です。現在、言語習得のためのドリルをおこなっておりますが、2つのテキストフィールド間での値の受け渡しがうまくいきません。具体的には、上下2つのテキストフィールドがあり、上のフィールド(摂氏)に数値を入れボタンを押したタイミングで、その値を華氏に変換して下のフィールドに結果の値が表示される、またその逆もあり、というプログラムを作成したいのです。 テキストフィールドのvalueに値を格納すればよいのかと思い、いろいろな箇所で値を格納してみたのですが、うまく動きません。アドバイスをよろしくお願いいたします。 <html> <head> <script type="text/javascript"> var cel; var fah; function cel_to_fah( ) { cel=document.getElementById("c").value; fah=(9 * cel / 5) + 32 //document.write(fah); document.input_fah.c.value=fah; //return fah; } function fah_to_cel(){ fah= document.getElementById("f").value; cel= 5 * (fah - 32) / 9; //document.write(cel); document.input_cel.f.value=cel; //return cel; } </script> </head> <body> <form id="input_fah" action="./hw06-3.html" > Celsius: <input type="text" id="c" size="20" > <input type="button" onclick="cel_to_fah()" value="To Fahrenheit"/><br/><br/> </form> /* <script language="JavaScript"> document.input_fah.c.value=cel_to_fah(); </script> */ <form id="input_cel" action="./hw06-3.html" > Fahrenheir: <input type="text" id="f" size="20"> <input type="button" onclick="fah_to_cel()" value="To Celsius" /><br/><br/> </form> /* <script language="JavaScript"> document.input_cel.f.value=fah_to_cel( ) </script> */ </body> </html>

  • チェックボックスの値を取り出したい

    こんにちは JavaScript初心者です。 過去ログを見ながらここまでやったのですが、何も表示されません。 ?マークの所で引っかかっていると思うのですがどなたかご教授願います。 やりたい事は、チェックボックスのチェックの入った所の値を取り出して表示したいのですが... 3つチェックされていてOKをクリックした時に、ABC と出てくるのが理想です。 <html> <SCRIPT LANGUAGE="JavaScript"> <!-- function chkform() { for(i=1; i<=3; i++) { chkdata(i) = document.form0.chk(i).Value    ? var aa = chkdata(i) document.write(aa) } } //--></SCRIPT> <FORM onSubmit="return chkform(this)" name = "form0"> <INPUT type="checkbox" name="chk" value="A" > <INPUT type="checkbox" name="chk" value="B" > <INPUT type="checkbox" name="chk" value="C" > <INPUT type="submit" value="OK" > </form> </html>

  • テキストボックスの値で配列の値を求めるには?

    やりたいと思っているのは、 (1) "INPUT" の値を入力。 (2) "koteichi" は他からの参照値。 (3) "goukei"に(1)と(2)の合計値。 (4) "total" に(3)の値に該当する配列の値。 (実際には配列の値を代入した式の答え。) という流れになります。 (3)まではなんとか分かるのですが、 (4)はどのように配列の値を代入すればいいのかが 分かりません。  なにぶん最近始めた初心者なので不規則な値は配列を使えばいいと解釈したのですが、まったく使い方を間違えているのでしょうか? こういった場合は別のやり方があるのでしょうか? どなたかよろしくお願いします。 <SCRIPT language=JavaScript1.1> <!-- rank = new Array(6); rank[0]=0; rank[1]=5;[rank2]=8;[rank3]=12;rank[4]=16;rank[5]=22; function calc(){ document.myform.goukei.innerText = eval(document.myform.INPUT.value) +eval(document.myform.koteichi.value); } // --> </SCRIPT> </HEAD> <BODY> <form name="myform"> <INPUT size="20" type="text" name="INPUT" value="0" onchange="calc()"/>+<INPUT size="20" type="text" name="koteichi" value="10">=<INPUT size="20" type="text" name="goukei" value="0"> <INPUT size="20" type="text" name="total" value="0"> </FORM> </BODY>

  • URLから値(可変)を取得して値を引き渡す

    http://ample.com/goo?aaaa=12345 ?以降を取得して値を引き渡したいのですが location.searchで?以降を取得 取得した値を=で分割 formを使って情報を引き継ごうと思うのですがうまくいきません <script type="text/javascript" language="javascript"> <!-- var QS = new Array; if (location.search.length > 1) {  var m_Array = location.search.substr(1).split("&");  for (aaaax in m_Array) {   QS.push(m_Array[aaaax].split("="));  } } //--> <form action="form.cgi" method="post" name="FROM1" > <input type="hidden" name="aaaa" value=""> <script> <!-- document.forms["FROM1"].aaaa.value = location.search.substr(6,30); //--> </SCRIPT> </FORM>

  • javascriptで困っています。教えてください

    JavaScriptで配列をPOST送信しようとしています。 <form>や<input>を作っておいてではなく、javascriptで生成する関数からしたいと思っています。以下のコードでうまくいきません。 教えていただければありがたいです。よろしくお願いします。 <!DOCTYPE html> <html> <head> <script type="text/javascript"> var ar = new Array(5); ar[0] = 111; ar[1] = 222; ar[2] = 333; ar[3] = 444; ar[4] = 555; function sampleForm(value){ var form = document.createElement('form'); document.body.appendChild( form ); var input = document.createElement('input'); input.setAttribute('type','hidden'); input.setAttribute('name','hidden_input'); input.setAttribute('value', value); form.appendChild(input); form.setAttribute('action','send.php'); form.setAttribute('method','post'); form.submit(); } </script> </head> <body> <a href=“javascript:sampleForm(ar)”>クリックしたら“samplepost”をPOST送信</a> </body> </html> send.php-------------------------------- <?php $num = isset($_POST['hidden_input']) ? $_POST['hidden_input'] : null; print "num: " . $num; ?>

  • 読み込む外部スクリプトをセレクトボックスを使って選べないでしょうか?

    お世話になります。 フォーム内に配置した、1から5までの数字を選べるセレクトボックスを使って、そのフォーム内に読み込む.jsファイルを選択することは出来ないでしょうか? 外部ファイルには、UsualSet.js、EmergencySet.js、PauseSet.jsなどがあって、そのスクリプトファイルの中身は document.write("<input name=\"youbi\" type=\"hidden\" value=\"土曜\"><input name=\"codenumber\" type=\"hidden\" value=\"732\"><input name=\"busho\" type=\"hidden\" value=\"経理\">"); とかいった感じになっています。 つまり、セレクトボックスで何番を選ぶかによって、CGIに渡す値を$youbiと$codenumberと$bushoとの3つ全ていっぺんに変更出来るようにしたい訳です。 しかし、そのセレクトボックスにどういう仕掛けをしたら良いかわからなくて困っています。 まさか、 <FORM ACTION="pro.cgi" METHOD="POST">  <select name="kazu">   <option value="<script language="javascript" src="UsualSet.js>" selected>1</option>   <option value="<script language="javascript" src="EmergencySet.js>" >2</option>   <option value="<script language="javascript" src="PauseSet.js>" >3</option>   <option value="<script language="javascript" src="MorningSet.js>" >4</option>   <option value="<script language="javascript" src="FulleSet.js>" >5</option>  </select>   <input type="hidden" name="kaijou" value="22890">  <input type="hidden" name="boxnumber" value="62">  <input type="submit" name="Submit" value="送信"> </FORM> なんてわけに行かないですもんね。 どうしたらいいかおわかりの方がいらっしゃいましたら、どうかよろしくお願い致します。

  • javascriptからCGIへの値渡し

    cookieは利用しない方向で考えています。 HTML上のdocument.form01.のsubmitが押下されたら一度手入力されたデータ(userinput)を加工し、 別のフォームform02.valueに格納してtest.cgiにPOSTで投げる動作を期待しています。 下記だとページ遷移無しで一時的な格納まで確認しましたが CGIへの送信が機能していないようです。 どの様にすべきでしょうか? [html] <script type="text/javascript"> <!-- function onSubmit() { document.form02.sendform.value = '\"' + document.form01.userinput.value + '\"'; document.form02.submit(); } --> </script> <body> <form name="form02" method="POST" action="test.cgi"> <input type="hidden" name="sendform" value=""> </form> <form method="POST" action="" name="form01"> <input type="text" name="userinput"> <input type="submit" value"送信" onclick="return onSubmit();"> </form> </body> </html>

  • フォームの値をjavascriptでsubmitする時に

    <form name="myForm" action="" id="myID" onsubmit="return false;"> <input type="hidden" name="v1" value="" /> </form> というようなフォームがあり、 <script language="javascript"> function submitTest(v) { document.myForm.v1.value = v; document.myForm.submit(); } </script> のような形でsubmitする際に、<form>の属性で指定したid="myID"って javascript関数内でどのようにすれば渡せるのでしょうか?? 何か質問がおかしかったらご指摘願います。