海外旅行から帰ってきたら、まず何を食べる?

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の方には値は代入されないのでしょうか?

A 回答 (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を間違えて指定していた可能性が高いということです。
    • good
    • 0
この回答へのお礼

アクションを投げた「後」に表示されるページのURLに対して、cat=●●&no=▲▲▲をつけて表示させてみたら、正常に表示されました!

ご回答有り難うございます、解決しました!

お礼日時:2012/11/08 13:43

こんにちは。



はい代入されません。
hoge.jsp(JSPですよね?jpsになってますがは検索条件を入れるページですよね。
そこにcat=xx&no=xxのリクエストをかけてもダメです。
リクエストをかけるとするならfというformがsubmitしている先です。(actionに設定されている)

もしURLに設定されたパラメータをJavaScript内で使用したいのであればサーバ側で埋め込むかJavaScriptにてURLからパラメータを取得するロジックを書く必要があります。
    • good
    • 0
この回答へのお礼

jspの間違いです。すみません!

うーん、外からURLで直接パラメーターを与えてあげても、上手く動かないんですね...

ご回答、ありがとうございます!

お礼日時:2012/11/06 15:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!