- ベストアンサー
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>
- itoen_2008
- お礼率0% (0/2)
- JavaScript
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは ?****=#### 1つだけで####の部分をとりたいのであれば ※****は必ず4文字です <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> だけでもいいですけど? location.search.substr(6,30)は?****=####となっているところの7文字目から31文字目を取り出していますので そうじゃなくて『 & 』でつなげてあって複数の中から1つだけ取りたいのであれば (例) h ttp://***.html?aaaa=12345&bbbb=6789 <script type="text/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("=")); } } //--></script> <!--↑</script>記述し忘れてますよ//--> <form action="form.cgi" method="post" name="FROM1" > <input type="text" name="aaaa" value=""> <script type="text/javascript"><!-- document.forms["FROM1"].aaaa.value = QS[0][1]; //--></script> </form> になります aaaa=12345の『 12345 』をとるには『 QS[0][1] 』 bbbb=6789の『 6789 』をとるには『 QS[1][1] 』
その他の回答 (1)
<HTML> <form action="form.cgi" method="post" name="FROM1" > <input type="text" name="aaaa" value=""> </FORM> <script type="text/javascript" language="javascript"> window.onload=function(){ var qs=[]; if(s=location.search){ for(i=0,q=s.replace(/^\?/,'').split('&');i<q.length;i++){ t=q[i].split('='); qs[t[0]]=t[1]; } } document.forms["FROM1"].aaaa.value = qs['aaaa']; } </SCRIPT> </HTML>
関連するQ&A
- 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の中に仕込むことは可能でしょうか? よろしくお願い致します
- 締切済み
- JavaScript
- 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に格納された値> といった書き方もできるのでしょうか? よろしくご教授願います。
- ベストアンサー
- JavaScript
- select要素のvalueを配列で取得したいです
select要素のvalueを配列で取得したく、下記のサンプルを動かそうと試みました。 <html> <head></head> <body> <form> <!-- ここに<select name="c1">~<select name="c20">の20個のselectがあるとする --> </form> <input type="button" value="はい" onclick="test(this.form)"> <script type="text/javascript"> function test ( form ) { var values = new Array(); for ( var i=0; i < 20; i ++ ) { var elm = form.elements['c'+i]; values[i] = elm.options[elm.selectedIndex].value; } } </script> </body> </html> このようなサンプルを動かそうとしたのですが、 var elm = form.elements['c'+i];のところの['c'+i]が正しくないようで 「elm is underfind」というエラーが出てしまいます <script> function myForm (form) { var values = new Array(); for ( var i=0; i<20; i++ ) { var elm = form.elements[i]; values[i] = elm.options[elm.selectedIndex].value; document.write(values[i] + "<br />"); } } </script> インデックス名を'c'+iからiにすると取得できるのですが、 ブラウザが読み込みをやめない状態になってしまいます。 select要素のnameはc1から始まりc20と何も換えていません。 何が間違っているのでしょうか。
- ベストアンサー
- JavaScript
- 値の受け渡しについて
JavaScriptを使用しa.htmlからb.htmlへ 値の受け渡しについて分らない事があります。 やりたいことはa.html内にある <a href="b.html">あああ</a>の「あああ」の値を b.html内にある<INPUT>に入れたいのです。 現在記述しているコードを下記記しますので 何方かご教授お願いします。 ■a.html <html> <a href="b.html" onclick="this.href=this.href+'?'+encodeURIComponent(this.innerHTML)">あああ</a> </html> ■b.html <html> <script type="text/javascript"> query = decodeURIComponent( location.search.slice(1,1000) ); document.getElementById('in_name').value = query; </script> <form> <INPUT type="text" id="in_name" name="in_name" value=""> </form> </html>
- ベストアンサー
- JavaScript
- オブジェクトから値を取得する方法について
QNo.7391687 の続きで質問をもうひとつお願い致します。 いろいろと調べたり、試行錯誤しながら、 erlectオブジェクトの値を取得して、 取得した値の出力をしたいと考えています。 ご教授頂ければ幸いです。 どうぞよろしくお願いいたします。 【ソース】 ------------------------------------------------------- <head> <title>問合せ入力フォーム</title> <script type="text/javascript"> function textoutput() { <!-- フォームを変数に// --> var formObj = document.form01; <!-- selectを取得// --> var select01 = formObj. select01; <!-- textを結合用の変数として準備// --> var text = '【select01】' + '\n'; text += select01 + '\n'; <!-- output.valueにtextを反映(最後に改行コード)// --> formObj.output.value = text + '\n'; } </script> </head> <body> <form name="form01"> <!--セレクトボタン// --> <strong>・OS確認</strong><br /> <select name="select01"> <option value=""> <option value="Windows7">Windows7 <option value="WindowsVista">WindowsVista <option value="WindowsXP">WindowsXP <option value="WindowsMe">WindowsMe <option value="Windows2000">Windows2000 </select> <br> <!--ログ出力// --> ログ出力<br> <input type="button" value="ログ出力" onClick="textoutput();"><br> <textarea name="output" cols="60" rows="10"></textarea><br> </form> </body> </html>
- ベストアンサー
- JavaScript
- 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
- onBlurのイベントを使ってデータベースを参照し値を代入する方法
伝票入力する際、ACCESS等で作ると、例えば「得意先コード」を入力すると 「得意先名」が表示される。という画面がありますよね。 そこで先輩方にお伺いしたいのですが、 ASPを使って同様のことをやる場合、どんな手法があるのでしょうか? 私なりに考えた方法が2つほどあるのですが、これが正しいのでしょうか? <案1> ・子ウインドウを表示し、そこでデータベースを参照し、親ウインドウに値を代入。 ---親ウインドウ側--- <INPUT type="text" name="text1" onBlur="GetJTname()"> <INPUT type="text" name="text2"> <script language="JAVAScript"> function GetJTname(){ Newwin=window.open("test1_1.asp?a=" + document.form1.text1.value,"sample","width=240,height=180"); } </script> ---子ウインドウ側--- <form name="form2"> <INPUT type="text" id=text1 name=text1 value="<%=rs.Fields("name_inf").Value%>"> </form> <script language="JAVAScript"> function action(){ window.opener.document.form1.text2.value=document.form2.text1.value; window.close(); } </script> <案2> ・自分自身にデータを投げる <INPUT type="text" name="text1" onBlur="GetJTname()"> <INPUT type="text" id=text2 name=text2 QS=Request.QueryString("B") value="<%if QS <>"" then %><%=Tname(QS)%><%end if%>"> <%function Tname() <script language="JAVAScript"> function GetJTname(){ location.href ='test1.asp?B=' + document.form1.text1.value; } </script> <%function Tname(code) '... ADOの処理 end function%> (案1)では、当然ながら一瞬ウインドウが開きます。 (案2)では、せっかく入力したTEXT1の内容が消えてしまいます。
- ベストアンサー
- JavaScript
- 複数Formから値を取得するやりかた
AというASPには複数のformがあります。 DBの取得結果を表示しており、countには取得件数が入ってます。 また、件数分同じformがあり、判別はnameにて行っています。 検索件数<%=count %>件 <input type="button" value="一括修正" action="Update('<%=count %>')"> <% Do Until rs.EOF %> <form method="POST" target="main" name="updatename<%=ii%>"> <input type="hidden" name="no" value="<%= rs.Fields.Item("NO").Value %>" </form> <form method="POST" target="main" name="updatename<%=ii%>">… <% ii= ii+1 rs.MoveNext Loop%> 受け取り側のBというASPでは <form method="POST" name="update"> <%For i = 1 To count%> <input type="hidden" name="no<%=i%>" value="<%=Server.HTMLEncode(Request.Form("No" & i)) %>"> <%Next%> </form> のようにループにて送信側のデータを取得しています。 このAとBの間をjavascriptにて行いたいのです。 Javascript(データ受け渡し) function Update(count) { var No = new Array(); for (Cnt=1; Cnt<count ; Cnt++){ // 件数分ループ No[Cnt] = document.all.updatename(Cnt).no.value; document.update.no(Cnt).value=No[Cnt]; } document.update.submit(); } やりたい事は、Aというファイルにある複数のformから値を取得し、Bというファイルにある項目に設定する、という事なのですが、上手くいきません。 ・複数のformからデータを取得する方法 document.allを使用すると上手くいく、とネットで検索してわかったのですが、いまいち使用方法がわからず、こまっています…。 どうか宜しくお願いします。(ちなみに1つのFormで、というのは仕様上不可能です)
- 締切済み
- Microsoft ASP
- chromeでフォームの値が取得できない
PHPでフォームに入力された値を取得して画面に表示させる処理において、 Javascriptでフォームの値を変更した場合、chromeだと変更後の値が 取得できません。 例えば、 <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="111"> <input type="hidden" name="data1" value="AAA"> <input type="submit" value="送信"> </form> というようなフォームがあったとして、Javascriptで値を <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="222"> <input type="hidden" name="data1" value="BBB"> <input type="submit" value="送信"> </form> と、変更しても送信ボタンを押して取得できる値は、上の方の値になります。 IEやFireFoxでは問題なく変更後の値が取得できるのですが、chromeだと 取得できません。 なにか解決方法があるのか、それともchromeの仕様なのかご教示いただければと 思います。 どうかよろしくお願いいたします。
- 締切済み
- JavaScript
- option属性の値取得について
こんばんは。 オプションタグの値取得の方法について質問があります。 opitonタグのvalue属性の値を取得する際、今までは方法Aのコードを用いていましたが、 最近調べものをしていますと、方法Bのコードで取得するのが正しいと知りました。 方法Aでの値の取得についてはGoogle等で検索しましたが、見当たりませんでしたので、 私の思い込みで記述していたのではないかと思われます。 しかしながら、方法Aであっても方法Bであっても取得する値に差異は見られませんでした。 なぜ方法Aでも動作するのでしょうか? 以上、よろしくお願いいたします。 OS :WinXP SP2 ブラウザ:IE6.0 //------------------------------------------------------------------------ // index.htm //------------------------------------------------------------------------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <script language="javascript" src="./main.js"></script> </head> <body> <form name="chara"> <select name="job"> <option value="j01">0</option> <option value="j02">1</option> <option value="j03">2</option> <option value="j04">3</option> <option value="j05">4</option> </select> <input type="button" value="func()" onclick="func()" /> </form> </body> </html> //------------------------------------------------------------------------ // main.js //------------------------------------------------------------------------ function func() { var Job1 = document.chara.job.value; // 方法A var Job2Index = document.chara.job.selectedIndex; var Job2 = document.chara.job.options[Job2Index].value; // 方法B alert( "Job1: " + Job1 ); alert( "Job2: " + Job2 ); }
- ベストアンサー
- JavaScript