一回も披露したことのない豆知識

PHP初心者です。
大急ぎで対応を要求されていますので皆様のお力添えをよろしくおねがいします。

画面に検索キーとしてのセレクトボックスがあります。

ボタンではなくリンクのonClickで選択された値をGETで渡したいのです。

どのように記述したらよいか教えてください。

検索キーのリストボックス(2012を選択した状態です)
<select name="search_orderyear">
<option value="2005" label="2005">2005</option>
<option value="2006" label="2006">2006</option>
<option value="2007" label="2007">2007</option>
<option value="2008" label="2008">2008</option>
<option value="2009" label="2009">2009</option>
<option value="2010" label="2010">2010</option>
<option value="2011" label="2011">2011</option>
<option selected="selected" value="2012" label="2012">2012</option>
</select>


渡す値をセットしている箇所(xxxは外部function名です)
onClick="xxx('pdf.php?orderyear=<!--{$search_ordermonth.value}-->',・・以下省略

としてみましたが、値はわたりませんでした。

上記説明で不足部分があればご指摘ください。
よろしくおねがいいたします。


PHP 5.2.9

A 回答 (3件)

ANo.1です



ひょっとして「リンク」というのはselect要素とは別に存在しているanchor要素でしょうか?その場合は、(ANo.1の)select要素のonchangeではなく、select要素にidを指定しておいて、anchor要素のonclickで

<a href="#" onclick="location.href='pdf.php?orderyesr=' + document.getElementById('search_orderyear').value";>jump</a>

でいいと思います(function xxxを使う場合でも同様に)。
    • good
    • 0
この回答へのお礼

何度も回答いただきありがとうございます。

リンクというのは、まさに<a href=  です。

言葉の使い方がよくわからず、お時間いただきましてすみませんでした。
まだまだ壁がたくさんですので、またお世話になるとおもいます。
ありがとうございました!!

お礼日時:2012/06/27 15:37

クリックして飛んだらセレクトできないのでおかしいし、


とくにセレクトボックスで初期値がえらばれていると
別のオプションを選ばないといけないのだと
初期値が渡せないし、ちょっとグダグダな感じ

どのオブジェクトに何をしたらどうしたいのか?
もう少し基本を押さえて仕様を決めた方がよいとおもう。

よく表示済みのPHPの変数をあとから変える的な質問があるが
それはやってしまったものは後からは変えられないので
そこは押さえておかないと話がつながらないですね
    • good
    • 0
この回答へのお礼

つたない質問に回答いただき恐縮です。
また、ご縁がありましたらよろしくおねがいいたします。

お礼日時:2012/06/27 15:34

>渡す値をセットしている箇所(xxxは外部function名です)


>onClick="xxx('pdf.php?orderyear=<!--{$search_ordermonth.value}-->',・・以下省略

xxxは外部function名と書かれても、どういうfunctionなのかわからないと何とも言えません。xxxは(当然ですが)JavaScriptのfunctionなんでしょうけど、<!--{$search_ordermonth.value}-->の意図もわかりません。

phpというよりはJavaScriptの話ですが、どうせ$_GETで渡すなら直接onchange(≠onclick)で

<select name="search_orderyear" onchange="location.href='pdf.php?orderyesr=' + this.value";>
<option value="2005" label="2005">2005</option>
<option value="2006" label="2006">2006</option>
<option value="2007" label="2007">2007</option>
<option value="2008" label="2008">2008</option>
<option value="2009" label="2009">2009</option>
<option value="2010" label="2010">2010</option>
<option value="2011" label="2011">2011</option>
<option selected="selected" value="2012" label="2012">2012</option>
</select>

でいいのでは?
    • good
    • 0
この回答へのお礼

Ano3にお礼を入力してあります。
ありがとうございました。
お礼の記述が100%になっていなくて気持ちが悪かったのでいまさらですが記述させていただきました。

お礼日時:2012/08/28 11:33

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