當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript实现表单的分向提交
生活随笔
收集整理的這篇文章主要介紹了
JavaScript实现表单的分向提交
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在一般情況下,同一個表單只能被提交給同一個地址。但在實際web應用中,我們希望同一個表單可以根據用戶的選擇來完成不同的操作,即表單的分向提交。
比如說:在一個網站后臺用戶管理系統中,我需要對一些惡意的用戶進行批量解鎖,鎖定用戶或者刪除的操作,當我選擇刪除會員時,我們希望表單會提交給能進行刪除的處理程序,當我選擇鎖定會員時,我們希望表單會提交到鎖定會員的處理程序,解鎖會員也如此。我們極不愿意看到分別為這三個功能建立三個不同的頁面,而其中僅僅是處理程序不同。
利用客戶端JavaScript的功能,我們可以把三項功能簡化一個界面就可以完成,一個select下拉框,其中放置要進行的操作,一個Submit按鈕進行表單提交。
form表單如下:
<form action="actionPath" method="post" enctype="application/x-www-form-urlencoded" name="listform" id="listform"><label><select name="operate" size="1" id="operate"><option value="delete">刪除</option><option value="lock">鎖定</option><option value="unlock">解鎖</option></select></label><input name="Submit" id="Submit" type="submit" value="確定" onclick="submitForm(this.form,'actionPath')" /> </form>提交表單的submitForm()函數:
<!-- 其中傳遞的參數為表單對象的引用和表單的action文件地址 ,提交后的action為[*Action?menthod=?]-->function submitForm(formObj,actionPath){var select = document.getElementById("operate");var str = [];for(i=0;i<select.length;i++){if(select.options[i].selected){str.push(select[i].value);}}if(confirm("確定要執行的操作嗎?")){for(var j = 0;j < str.length;j++){formObj.action=actionPath + "?method=str[j]";formObj.submit();} return true;}return false; }注意:
1、document.form.action和document.form.submit()的區別,action是屬性,submit()是方法;
2、在表單中,不應有名字為action或submit這些特殊字符的標簽(JavaScript區分大小寫),否則IE中將會產生”對象不支持此屬性和方法”的錯誤。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的JavaScript实现表单的分向提交的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DocumentHelper和SAXRe
- 下一篇: 【Spring MVC学习】详解spri