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

你有三样东西——

  1. 设置网址
  2. 设置谷歌的东西
  3. 如果不在提交事件中,则提交表单

在下面的代码中,如果您只能依赖 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 回答