javascript onsubmit重定向失败

时间:2011-11-23 17:56:11

标签: javascript

此脚本的工作原理如图所示。

我想替换:

alert(q2) ;

使用:

window.location.href = q2 ;

重定向,但不起作用。

    <form onSubmit=" var q = document.getElementById('addTable') ; var q2 = 'http://www.mysite.com/add/' + q.options[q.selectedIndex].text + '/' ; alert (q2) ; ">

    Add a new record in 
    <select id="addTable">

    <option value="" >[choose a table]</option>
    <option value="articles" >articles</option>
    <option value="blogs" >blogs</option>

    </select>
    <input type="submit" value="go">
    </form>

2 个答案:

答案 0 :(得分:1)

您需要从处理程序return false;(或使用event.preventDefault();)。另外,我建议绑定一个处理程序,而不是使用内联JavaScript。

<form id="addForm">
   Add a new record in 
   <select id="addTable">
     <option value="">[choose a table]</option>
     <option value="articles">articles</option>
     <option value="blogs">blogs</option>
   </select>
   <input type="submit" value="go">
</form>

<script type="text/javascript">
   document.getElementById('addForm').addEventListener('submit', function(e){
      e.preventDefault();
      var q = document.getElementById('addTable'),
      q2 = 'http://www.mysite.com/add/' + q.options[q.selectedIndex].text + '/';
      window.location.href = q2;
   });
</script>

答案 1 :(得分:1)

最好按照以下方式执行此操作

<script>
 function go(){
 var q = document.getElementById('addTable') ; var q2 = 'http://www.site.com.au/add/' +     q.options[q.selectedIndex].text + '/' ; window.location=q2 ;
}
</script>

<form>

    Add a new record in 
    <select id="addTable">

    <option value="" >[choose a table]</option>
    <option value="articles" >articles</option>
    <option value="blogs" >blogs</option>

    </select>

    <input type="button" value="go" onclick="go()">
    </form>