JavaScriptをURLから直接実行したい

このQ&Aのポイント
  • JavaScriptの関数をURLから直接実行する方法について知りたいです。
  • 具体的には、JavaScriptの関数をURLの引数として渡したいです。
  • 現在はURLに引数として渡してもJavaScriptの関数に値が代入されず、結果が表示されません。
回答を見る
  • ベストアンサー

JavaScriptをURLから直接実行したい

JavaScriptの関数として呼び出しているリンクを、直接URLアドレスから引数として値を代入して呼びしたいのですが、どうすればよろしいでしょうか? ---実際のコード--- hoge.jpsの中身 ↓JavaScriptの関数部分 <script type="text/javascript"> <!-- function searchSubmit(no) { var f = document.forms["search"] ; f.cat.value = '●●'; f.no.value = no; f.submit(); } //--> </script> ↓上の関数を呼び出している実際のページの <a href="javascript:searchSubmit('▲▲▲');"> ------------------- http://www.hogehoge.jp/hoge.jps?cat=●●&no=▲▲▲ としてブラウザーのアドレスバーに入力しても、真っ白なページになるだけで結果が表示されません。 URLに引数として記入しても、JavaScriptの方には値は代入されないのでしょうか?

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

横からですが… >外からURLで直接パラメーターを与えてあげても、上手く動かないんですね ご提示のコードで表示している内容であれば、URLで指定しても表示できます。 ただし、No1様の回答にあるように、質問者様が、指定するURLを間違っている可能性が高いです。 >URLに引数として記入しても、JavaScriptの方には値は代入されないのでしょうか? こちらに関しては、「URLに記述すること」と「javascriptに値を代入すること」は別物ですので、代入されません。 しかしながら、URLを直接指定することと、ご提示のスクリプトを実行することは、方法は違いますが「サーバにとあるURIのリクエストを送信する」という意味では同じことを行なっていますので、結果的に同じものをブラウザに表示することが可能と言えます。 No1様の回答をもう一度よく読んでください。 >http://www.hogehoge.jp/hoge.jsp?cat=●●&no=▲▲▲ ではなくて、  http://www.fugafuga.jp/fuga.jso?cat=●●&no=▲▲▲ としなければならないはずではないかという意味の回答です。 (質問文に明示されていない内容なので、推測での回答にはなっていますが…) で、fugafuga~~はどこかと言えば、スクリプトからサブミットしているフォームのaction属性で設定されているURLですということをおっしゃっています。(質問文にない情報なので、これ以上具体的には書けません) また、直接ブラウザにURI指定をするのではなく、スクリプトから指定して同じ(表示)結果を得たい場合は、パラメータ部分に相当する値をスクリプトで読取ってブラウザを遷移させることも可能であるという意味のことをおっしゃっています。 簡単に言えば、何種類かの方法でご質問の「ページを表示すること」は可能ですが、質問者様がテストした際にURLを間違えて指定していた可能性が高いということです。

Rubellite
質問者

お礼

アクションを投げた「後」に表示されるページのURLに対して、cat=●●&no=▲▲▲をつけて表示させてみたら、正常に表示されました! ご回答有り難うございます、解決しました!

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 はい代入されません。 hoge.jsp(JSPですよね?jpsになってますがは検索条件を入れるページですよね。 そこにcat=xx&no=xxのリクエストをかけてもダメです。 リクエストをかけるとするならfというformがsubmitしている先です。(actionに設定されている) もしURLに設定されたパラメータをJavaScript内で使用したいのであればサーバ側で埋め込むかJavaScriptにてURLからパラメータを取得するロジックを書く必要があります。

Rubellite
質問者

お礼

jspの間違いです。すみません! うーん、外からURLで直接パラメーターを与えてあげても、上手く動かないんですね... ご回答、ありがとうございます!

関連するQ&A

  • javascriptのURL部分に引数を渡したい

    <script type="text/javascript" src="URL"></script> の URL部分に引数を渡したいのですが、どうしたらよいですか? イメージとしては、webページのどこかに <script type="text/javascript"> var keyword='キーワード'; </script> みたいにあって、次に <script type="text/javascript" src="URL&key=keyword"></script> とURLにパラメータを引数としてつけたいのです。 初心者で申し訳ありません。 どなたか教えてください。

  • VBスクリプトの配列数字をJAVAスクリプトで使うには

    表題があまり良くないですが VBSでページを作っています その中で ページ閲覧者がテキストボックスに値を記入したときに JAVAスクリプトのonchangeでJAVAスクリプトへ飛んで VBスクリプトで定義した配列の値を代入したいのですが うまくいきません 飛んでいった先のコードが <script type="text/javascript"> <!-- //値の代入 function hoge(FRM){ FRM.hoge1.value=ここにVBスクリプトの配列 } // --> </script> これだけのことなのですが 配列を直接数字で書くと FRM.hoge1.value=<%=atai(1)%> hoge1にはきちんと値が入力されます しかし この1と言う数字の所に FRM.hoge2.value の値をいれてやろうとすると イメージとしては FRM.hoge1.value=<%=atai(FRM.hoge2.value )%> なんですが、これではエラーがでます(当然ですよね) 色々"" でくくったり & や + ()などの 組み合わせでやってもうまくいきません どなたか正しい構文か方法を教えてください よろしくお願いします  

  • JavaScriptで特定の変数に値が代入されるのを禁止する。

    JavaScriptで、既存の変数に値を代入し、その後の上書き(その変数への値の代入)を禁止するにはどのようにすればよいでしょうか。 <script type="text/javascript"><!-- var hoge = "hogeは初期化されてます"; hoge = "hogeは変更されました";//ここ以降での変更(代入)を禁止したい。 hoge = "hoge変更2回目"; alert(hoge); //--></script> というスクリプトを書いたときに、alert(hoge)で「hogeは変更されました」と表示させたいのです。 他の方法は駄目です。この方法だけでお願いします。 よろしくお願いします。

  • リンク元の引数を取得してjavascriptを実行したい

    リンク元に引数を入力して、リンク先でページのインラインフレームのページが指し換わるjavascriptを実行させたいです。 実行させたいjavascriptは function change(URL1,URL2) { document.getElementById('contents1').innerHTML = '<iframe src="'+URL1+'" width="620" height="343" frameborder="0" scrolling="no" name="myFrame1" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>' ; document.getElementById('contents2').innerHTML = '<iframe src="'+URL2+'" width="620" height="215" frameborder="0" scrolling="no" name="myFrame2" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>' ; } 引数からURL1とURL2に代入したいです。 アドバイスよろしくおねがいいたします。

  • javascript name="hoge"等に記号を使いたい

    javascriptで、クリックすると値が変わるというものを作っています。 クリックすると以下の処理を行います。 ●java script側● form1.hoge.value = 1; すると、HTMLのhogeの値が変わるというものです。 ●HTML側● <form name='form1'>  <input size='10' type='text' name='hoge' value='0'> </form> しかし、実際には、phpの処理の都合もありまして ●java script側● form1.hoge[].value = 1; ●HTML側● <form name='form1'>  <input size='10' type='text' name='hoge[]' value='0'> </form> と、カッコ[]をつけたいのですが、カッコをつけると javascriptが、エラーになってしまい、うまく動作しません。 エスケープの問題かなと思い form1.hoge\[\].value 等 試しましたが、うまくいきません。 どうすれば、カッコのついたnameに対して、 javascriptが、要求を送ることができるのでしょうか?

  • Javascriptでフィールドを埋める方法

    Javascript初心者です。 HTML <input type="text" id="hoge" value="piyo"> <input type="checkbox" onclick="AutoFill();" > <input type="text" id="foo" value=""> Javascriptでcheckboxをクリックすると、fooというidを持つテキストフィールドの値をhogeというidを持つテキストフィールドと同じ値で埋めたいと思います。 bodyの終りに <script> AutoFill(){ document.elementGetById(foo).value=document.elementGetById(hoge).value; } </script> checkboxをクリックしても何も起こらない。どうすればいいんですか。 ご回答をよろしくお願いいたします。

  • JavaScriptで コードを変数で指定し入力するには

    題名が少し変で分かりにくいですが 以下のようなコードを書いています <SCRIPT language="JavaScript"> function win_open(){// var cnt; var to1; var frm1; var i; cnt=25; for(i=6; i<=cnt; i++) { to1="document.hoge.koumoku" + i + ".value"; frm1="self.opener.document.hoge.koumoku" + i + ".value"; ここにto1で指定したテキストボックスに入れる = eval(frm1); } } </SCRIPT> 親から 子を開いて 子のスクリプトで 子のフォームへ親の値を代入したいのですが 25項目あるので 25行書くのもスマートでないから for文でやってみようと思ったのですが 親から値を取る方はeval関数でうまく取得できたのですが このフォーム内のテキストボックスに書く場合 eval関数だと 戻り値を指定するのだから エラーが返ってきます。 かといって document.hoge.koumoku" + i + ".value = eval(frm1); では構文エラーになってしまいました 何か他に関数があるのかよく分からないので 教えて頂けたらと思っています よろしくお願いします

  • script要素をまたいだ関数定義と実行

    最近、javasriptを勉強しています。 わからない挙動があったので質問させてください。 htmlファイル内に、 <script type="text/javascript"> f(); function f(){ alert("hoge"); } </script> ↑これが動いて、 <script type="text/javascript"> f(); </script> <script type="text/javascript"> function f(){ alert("hoge"); } </script> ↑これが動かないのはどうしてなのでしょう? htmlの解析順序?の関係だと思うのですが、 詳しく解説しているページなどがあれば教えてください。

  • javascriptでのURLの引数

    CGIとかなしにおいてjavascriptで、URLの引数を参照できるのですか? 例えば、test.html?id=aaa&point=100において、 idとpointの値を参照したいのです。

  • Javascriptのエラー

    HPのurlが代入されているPerlの変数$urlをJavascriptに引数として渡し、HPを別ウインドウに表示したいのですが、 エラー ')'が抜けているとなりエラーになります <SCRIPT LANGUAGE="JavaScript"> <!-- function abc(def) { new1 = window.open("def", "", "width=400, height=310"); new1.moveTo(0,0); new1.document.close(); } //--> </SCRIPT> <A HREF=\"javascript:abc($url)\">別ウィンドウに表示</A> 何処が間違っているのですか。

専門家に質問してみよう