如何使用javascript添加form.action?

时间:2017-08-25 07:32:23

标签: javascript jquery django

我正在构建django网站,并且必须使用一些select提交,我的代码是:

<form id='buttonform1' method='get'>
   <div class="control-group btn">           
            <div class="controls "> 
              <select id="select01"> 
                <option>2017</option> 
                <option>2018</option> 
                <option>2019</option> 
                <option>2020</option>               
              </select> 

              <select id="select02"> 
                <option>1</option> 
                <option>2</option> 
                <option>3</option> 
                <option>5</option>               
                <option>6</option>               
                <option>7</option>               
                <option>8</option>               
                <option>9</option>               
                <option>10</option>               
                <option>11</option>               
                <option>12</option>         
              </select>             
            <input type="button" value='submit' id='submit1'> 
</div> </div> 
</form> 

<script type="text/javascript"> 
$(document).ready(function(){ 
$("#submit1").click(function(){   
  var year=$('#select01').val(); 
  var month=$('#select02').val(); 
  var action1="?year="+year+"&month="+month 
    alert(action1);      
   document.getElementById('buttonform1').action=action1; 
   document.getElementById('buttonform1').submit();  

}); 
}) 
</script>

警告信息是:

 ?year=2017&month=1

但提交结果丢失了动作信息:

http://localhost/report/?

如果我改变这样的动作(删除'?'):

var action1="year="+year+"&month="+month

结果是:

http://localhost/report/year=2017&month=1?

我还能做什么? THX

1 个答案:

答案 0 :(得分:0)

使用form这是一种相当奇怪的方式。您可以单独使用HTML实现所需,而不会受到任何JS干扰。

首先将表单的action属性设置为应将数据发送到的URL。然后,您可以将name属性添加到select元素,以便正确键入值。最后,将按钮更改为submit,以便在单击时发送表单信息。试试这个:

<form id="buttonform1" action="your-page-here.html" method="get">
  <div class="control-group btn">
    <div class="controls">
      <select id="select01" name="year"> 
        <option>2017</option> 
        <option>2018</option> 
        <option>2019</option> 
        <option>2020</option>               
      </select>

      <select id="select02" name="month"> 
        <option>1</option> 
        <option>2</option> 
        <option>3</option> 
        <option>5</option>               
        <option>6</option>               
        <option>7</option>               
        <option>8</option>               
        <option>9</option>               
        <option>10</option>               
        <option>11</option>               
        <option>12</option>         
      </select>

      <input type="submit" value="submit" id="submit1">
    </div>
  </div>
</form>