如何返回 URL 并使用 onchange 提交表单

How to return a URL and submit the form using onchange

本文关键字:onchange 提交 表单 URL 何返回 返回      更新时间:2023-09-26

首先,网站上可能会回答类似的问题,但在仔细考虑了哪些解决方案和问题之后,我仍然不知道该怎么做。

我希望返回一个 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 问题,因为功能在那里,它只是某个地方滥用的元素,所以如果有人可以帮助我看到我出错的地方,我将不胜感激。

谢谢

你有三件事——

  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>