程序员人生 网站导航

实例教程:通过JS更改FORM的action

栏目:jscript时间:2014-05-10 16:48:49

 建站学院(LieHuo.Net)转载文档 有时候我们不得不通过更改form的action来进行提交数据。当然大多数情况下,我们都是通过隐藏的字段来使action得到不同的数据。比如我们form的action是search.php,那么我们都是通过隐藏字段来使我们通过search.php搜索不同值,比如<input type="hidden" name="action" value="article">然后在search.php里面通过$_POST['action']=='article'来知道我们搜索的内容是文章而不是其他。

 但如果我们搜索页面并非只有一个入口search.php怎么办?比如我们的全文搜索是search.php,搜索文章是search_article.php,搜索新闻是search_news.php。怎么办?当然我们可以通过下拉框的值来更改FORM的action,就可以了。

简单代码如下:

以下为引用的内容:
  1. <script type="text/javascript">  
  2. <!--  
  3.     function redirectForm( which ){  
  4.         var searchModeList = document.getElementById('searchMode');  
  5.         var actionFile = '';  
  6.         for (var i=0,sml=searchModeList.length; i<sml ; i++ ){  
  7.             if( i == searchModeList.selectedIndex ){  
  8.                 actionFile = searchModeList[i].value;  
  9.             }  
  10.         }  
  11.         if( actionFile == ''){  
  12.             return false;  
  13.         }else{  
  14.             actionFileactionFile = actionFile + '.php';  
  15.         }  
  16.         which.action = actionFile;  
  17.         which.submit();  
  18.     }  
  19. //-->  
  20. </script>  
  21. <form method="post" action="" onsubmit="return redirectForm(this);" id='searchForm'>  
  22.     <select id="searchMode">  
  23.         <option value="search" selected="selected">Default</option>  
  24.         <option value="search_article" >Article</option>  
  25.         <option value="search_news">News</option>  
  26.     </select>  
  27.     <input type="submit" />  
  28. </form>

 文章来自:http://www.neatcn.com/show-411-1.shtml
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐