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

时间:2013-02-04 12:52:25

标签: php javascript html

首先,在网站上可能会有一个类似的问题得到回答,但在仔细考虑了我仍然难以理解的解决方案和问题之后。

我希望返回一个网址,并将我的用户从选择列表发布到所选网址的页面。

目前,使用以下代码使用常规提交按钮可以正常工作;

<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,但我正在测试它,以便在选择选项时查看创建的结果。当表单被设置为让我看到?url=e7-office-space%2F所以我可以安全地假设它在某种程度上起作用但是输出只缺少选项的值而没有其他东西吗?

对这种东西不熟悉我猜它是一个php / html问题,因为功能在那里它只是一个误用的元素,所以如果有人可以帮我看看我哪里出错了我真的很感激它

由于

1 个答案:

答案 0 :(得分:0)

你有三件事 -

  1. 设置网址
  2. 设置谷歌的东西
  3. 如果不在提交活动中提交表单
  4. 在下面的代码中,如果您只能依赖javascript,则可以省略图像

    DEMO

    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>