0

まず、サイト内で同様の質問が回答されている可能性がありますが、どのソリューションと問題を慎重に検討した後でも、何をすべきかについてまだ困惑しています。

URL を返して、選択リストから選択した URL のページにユーザーを投稿しようとしています。

現在、次のコードを使用して通常の送信ボタンを使用して機能します。

<form id="formurl" name="formurl" method="post" action="" onSubmit="return getURL(this.url.value)">
            <!-- begin postcode list -->
            <select size="1" name="url" id="posctode_srch" onchange="this.form.submit()">
              <option value="e1-office-space/">E1</option>
              <option value="e7-office-space/">E7</option>
              <option value="e10-office-space/">E10</option>
              <option value="e11-office-space/">E11</option>
              <option value="e14-office-space/">E14</option>
              <option value="e15-office-space/">E15</option>
              <option value="e16-office-space/">E16</option>
              <option value="e17-office-space/">E17</option>
              <option value="ec1-office-space/">EC1</option>
              <option value="ec2-office-space/">EC2</option>
              <option value="ec3-office-space/">EC3</option>
              <option value="ec4-office-space/">EC4</option>
            </select>

            <input type="image" src="images/graphics/new/btn_go.png" class="go_btn" width="119" border="0" value="submit" onclick="_gaq.push(['_trackEvent', 'Contact', 'AreaSearchForm',,, false]);" alt="Area search submit" />

          </form>

post を使用しようとしていますが、オプションを選択したときにどのような結果が作成されるかを確認するために get でテストしています。フォームが取得するように設定されている場合、?url=e7-office-space%2Fある程度は機能していると想定しても安全ですが、オプションの値を取得するだけで出力に何かが欠けていますか?

この種のものに慣れていないので、機能がそこにあるので、それはphp / htmlの問題だと思います。どこかで誤用された要素です。

ありがとう

4

1 に答える 1

0

あなたには3つのことがあります -

  1. URLの設定
  2. Googleのものを設定する
  3. submit イベントにない場合はフォームを送信する

以下のコードでは、javascript のみに依存できる場合は画像を省略できます。

デモ

window.onload=function() {
  document.getElementById("formurl").onsubmit=function() {
      var val = this.url.value;
      if (val=="") {
         alert("Please select a value");
         return false; 
      }
      this.action="http://bing.com/search?q="+val;
      _gaq.push(['_trackEvent', 'Contact', 'AreaSearchForm',,, false]);
  }
  document.getElementById("posctode_srch").onchange=function() {
    var val = this.value;
    if (val=="") return;
    this.form.onsubmit(); // not 100% sure but this should not trigger twice
    this.form.submit();   // since this is not triggering onsubmit
  }
}

使用して

<form id="formurl" name="formurl" method="post" action="">
             <!-- begin postcode list -->
            <select size="1" name="url" id="posctode_srch">
              <option value="">Please select</option>
              <option value="e1-office-space/">E1</option>
              <option value="e7-office-space/">E7</option>
              <option value="e10-office-space/">E10</option>
              <option value="e11-office-space/">E11</option>
              <option value="e14-office-space/">E14</option>
              <option value="e15-office-space/">E15</option>
              <option value="e16-office-space/">E16</option>
              <option value="e17-office-space/">E17</option>
              <option value="ec1-office-space/">EC1</option>
              <option value="ec2-office-space/">EC2</option>
              <option value="ec3-office-space/">EC3</option>
              <option value="ec4-office-space/">EC4</option>
            </select>
            <input type="image" src="images/graphics/new/btn_go.png" 
            class="go_btn" width="119" border="0" value="submit" 
            alt="Area search submit" />
  </form>
于 2013-02-04T12:59:02.193 に答える