最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡述JavaScript提交表單的方式 (Using JavaScript Submit Form)

 更新時間:2016年03月18日 11:14:22   作者:zsf0615020117  
這篇文章主要介紹了簡述JavaScript提交表單的方式 (Using JavaScript Submit Form)的相關資料,需要的朋友可以參考下

最近做項目遇到用Javascript提交表單的問題, 之前也做過幾次, 但是不夠全面, 這次總結出了幾種用JavaScript提交表單的方式, 并且對此作出了比較, 選出了一種最適合此項目的方式。

我目前正在為Sun Communication Suite做一個創(chuàng)建用戶的小型系統(tǒng),大家都知道我們可以通過表單,Ajax 和鏈接來訪問服務器, 最簡單的方法就是使用連接, 例如:<a href=UserServlet?event=SEARCH_MAILING_LIST&currentPage=1&keyword="+keyword+"&searchBy="+searchBy+"&cn="+request.getAttribute("cn")+">First Page</a>, 把所有需要的數(shù)據(jù)全部寫到超鏈接上, 如果你能夠觀察一下就會知道,在上邊的鏈接中只有currentPage是變化的, 其他參數(shù)event, keyword, searbyBy和cn是不變的, 那么我就想到如果我能夠把這些不變的參數(shù)封裝到一個表單中, 當用戶點擊上面的超鏈接的時候我用JavaScript把這個表單提交, 那么我自然會訪問到服務器。

表單:

<form name="pagination" id="pagination" action="UserServlet" method="get">
<input type="hidden" name="currentPage" value="1"/>
<Input type="hidden" name="cn" value="<%=request.getAttribute("cn")%>"/>
<input type="hidden" name="keyword" value="<%=request.getAttribute("keyword")%>"/>
<input type="hidden" name="searchBy" value="<%=request.getAttribute("searchBy")%>"/>
<input type="hidden" name="event" value="SEARCH_USER_FOR_MAILING_LIST">
</form>

在提交表單的過程中, 我只需要把參數(shù)currentPage傳給JavaScript就好了,所以我就把上面的連接改為下邊的形式:

<a href=# onclick=document.pagination.currentPage.value="+pages[j]+";document.pagination.submit();><span style='color: red;'>["+pages[j]+"]</span></a>

大家要注意一定要把document.pagination.currentPage.value="+pages[j]+";寫在document.pagination.submit();的前邊, 這樣在用戶提交表單之前, 參數(shù)currentPage就已經(jīng)被修改為我們需要的數(shù)值。 這樣我就完成了用連接來提交表單, 但是我有遇到了一個問題, 我需要試用上面的這段代碼在很多頁面, 如果我能統(tǒng)一的寫一段JavaScript的話,就會方面我以后對整個系統(tǒng)做維護, 所以我?guī)讓懥艘粋€JavaScript的函數(shù)。

function submitForm(id,currentPage){
//var currentPage = document.pagination.currentPage.value;
//alert(currentPage);
//currentPage=100;
//var currentPage = document.pagination.currentPage.value;
//alert(currentPage);
document.pagination.currentPage.value=currentPage;
var form = document.getElementById(id);
form.submit();
}

然后我在超連接的onclick事件上條用這個函數(shù):

<a href=# onclick=submitForm('pagination',"+pages[j]+")>["+pages[j]+"]</a>, 大家可以看到整段代碼簡潔了不少。

所以我總結了一下,用Javascript提交表單大概有兩種寫法(根據(jù)我目前的理解)

1. document.formName.submit();

2. var form = document.getElementById(id);

form.submit();

下次我想和大家分享一下用JNDI實現(xiàn)分頁。我把這次的代碼附在下邊, 大家可以參考一下。

commons.js

function submitForm(id,currentPage){
//var currentPage = document.pagination.currentPage.value;
//alert(currentPage);
//currentPage=100;
//var currentPage = document.pagination.currentPage.value;
//alert(currentPage);
document.pagination.currentPage.value=currentPage;
var form = document.getElementById(id);
form.submit();
}

mailingListMemberAdd.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.util.LinkedList" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="my.gov.rmp.webmail.domain.User" %>
<%@ page import="my.gov.rmp.webmail.util.Pager" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Add Member to Mailing List:<%=request.getAttribute("cn")%></title>
<script type="text/javascript" src="../js/commons.js"></script>
</head>
<body>
<jsp:include page="../inc/admin/headerMail.jsp"/>
<div id="main"> 
<div id="contents" >
<h2>Add new members to mailing list: <span style="color:blue;"><%=request.getAttribute("cn")%></span></h2>
<form name="addMailingListMember" id="addMailingListMember" action="UserServlet" method="post">
<table cellspacing="5" cellpadding="5">
<% 
Pager pager =(Pager) request.getAttribute("pager");
int currentPage =pager.getCurrentPage();
int pageSize = pager.getPageSize();
int i=(currentPage-1)*pageSize;
LinkedList users = (LinkedList)request.getAttribute("users");
if(!users.isEmpty()){
%>
<tr style="font-weight:bold"><td>No.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td><td>UID:</td><td>gCode:</td><td>Givenname:</td><td>Surname:</td><td>Mail:</td><td>Description:</td></tr>
<%
for(Iterator iter = users.iterator();iter.hasNext();){
User user = (User) iter.next();
i++;
// Attributes attrs = user.getAttrs();
%>
<tr><td><%=i%>.&nbsp;&nbsp;<input type="checkbox" name="uid" value="<%=user.getUid()%>" /></td>
<td width="15%"><%=user.getUid()%></td>
<td><%=user.getGCode()%></td>
<td><%=user.getGivenName()%></td>
<td><%=user.getSn()%></td>
<td width="30%"><%=user.getMail()%></td>
<td><%if(user.getDescription()==null||user.getDescription().length()==0){%>Not Set<%} else %><%=user.getDescription()%></td>
</tr> 
<%
}
%>
<input type="hidden" name="cn" value="<%=request.getParameter("cn")%>"/>
<input type="hidden" name="event" value="ADD_MAILING_LIST_MEMBER" />
<tr><td><button onclick="return selectAllCheckBoxs('uid');">Select All</button></td><td><button onclick="return deselectAllCheckBoxs('uid')">Deselect All</button></td><td></td><td><input type="submit" name="submit" value="Add to Mailing List"/></td></tr>
</table>
</form>
<hr>
<P STYLE="margin-top:-5px;"><strong>Pages:</strong>
<form name="pagination" id="pagination" action="UserServlet" method="get">
<input type="hidden" name="currentPage" value="1"/>
<Input type="hidden" name="cn" value="<%=request.getAttribute("cn")%>"/>
<input type="hidden" name="keyword" value="<%=request.getAttribute("keyword")%>"/>
<input type="hidden" name="searchBy" value="<%=request.getAttribute("searchBy")%>"/>
<input type="hidden" name="event" value="SEARCH_USER_FOR_MAILING_LIST">
</form>
<%
int[] pages = pager.getPages();
String keyword = request.getAttribute("keyword").toString();
String searchBy = request.getAttribute("searchBy").toString();
if(pager.isHasFirst()){
out.println("<a href=UserServlet?event=SEARCH_USER_FOR_MAILING_LIST&currentPage=1&keyword="+keyword+"&searchBy="+searchBy+"&cn="+request.getAttribute("cn")+">First Page</a>&nbsp;&nbsp;");
}
if(pager.isHasPrevious()){
out.println("<a href=# onclick=submitForm('pagination',"+(pager.getCurrentPage()-1)+")>Prev Page</a>&nbsp;&nbsp;");
}
for(int j=0;j<pages.length;j++){
if(pager.getCurrentPage()==pages[j]){
out.println("<a href=# onclick=document.pagination.currentPage.value="+pages[j]+";document.pagination.submit();><span style='color: red;'>["+pages[j]+"]</span></a>");
}else {
out.println("<a href=# onclick=submitForm('pagination',"+pages[j]+")>["+pages[j]+"]</a>");
}
}
if(pager.isHasNext()){
out.println("<a href=# onclick=submitForm('pagination',"+(pager.getCurrentPage()+1)+")>Next Page</a>&nbsp;&nbsp;");
}
if(pager.isHasLast()){
out.println("<a href=# onclick=submitForm('pagination',"+pager.getTotalPage()+")>Last Page</a>&nbsp;&nbsp;");
}
%>
</P>
<%
} else {
//make the mailing list member availabe when user are trying to re-run the search 
//request.setAttribute("members", members);
%>
<p>No results are matched your keyword or the user that you are looking for is already a member of this mailing list, please specify another keywork and <a href="<%=request.getContextPath()%>/admin/mailingListMemberSearch.jsp?cn=<%=request.getParameter("cn")%>">Search Again</a></p>
<% 
}
%>
</div>
</div>
</body>
</html>

相關文章

  • 微信小程序獲取手機號的踩坑記錄

    微信小程序獲取手機號的踩坑記錄

    這篇文章主要給大家介紹了關于微信小程序獲取手機號踩坑的相關資料,詳細記錄了踩坑的過程以及解決的方法和猜想,通過示例代碼以及圖片介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • JS獲取字符串實際長度(包含漢字)的簡單方法

    JS獲取字符串實際長度(包含漢字)的簡單方法

    下面小編就為大家?guī)硪黄狫S獲取字符串實際長度(包含漢字)的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 瀏覽器頁面區(qū)域大小的js獲取方法

    瀏覽器頁面區(qū)域大小的js獲取方法

    瀏覽器頁面的區(qū)域大小如何獲取,在本有個不錯的示例,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-09-09
  • 獲取HTML DOM節(jié)點元素的方法的總結

    獲取HTML DOM節(jié)點元素的方法的總結

    在Web應用程序特別是Web2.0程序開發(fā)中,經(jīng)常要獲取頁面中某個元素,然后更新該元素的樣式、內(nèi)容等。如何獲取要更新的元素,是首先要解決的問題。
    2009-08-08
  • Javascript添加監(jiān)聽與刪除監(jiān)聽用法詳解

    Javascript添加監(jiān)聽與刪除監(jiān)聽用法詳解

    這篇文章主要介紹了Javascript添加監(jiān)聽與刪除監(jiān)聽用法,較為詳細的分析了javascript原理與用法,并補充說明了事件監(jiān)聽的兼容性問題,非常具有實用價值,需要的朋友可以參考下
    2014-12-12
  • 跨域資源共享 CORS 詳解

    跨域資源共享 CORS 詳解

    所有瀏覽器都支持該功能IE瀏覽器不能低于IE10.整個CORS通信過程都是瀏覽器自動完成不需要用戶參與。對于開發(fā)者來說CORS通信與同源的AJAX通信沒有差別代碼完全一樣瀏覽器一旦發(fā)現(xiàn)AJAX請求跨源就會自動添加一些附加的頭信息有時還會多出一次附加的請求,但用戶不會有感覺。
    2016-04-04
  • 微信端調(diào)取相冊和攝像頭功能,實現(xiàn)圖片上傳,并上傳到服務器

    微信端調(diào)取相冊和攝像頭功能,實現(xiàn)圖片上傳,并上傳到服務器

    這篇文章主要介紹了微信端調(diào)取相冊和攝像頭功能圖片上傳服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 從延遲處理解析JavaScript惰性編程

    從延遲處理解析JavaScript惰性編程

    這篇文章主要為大家介紹了從延遲處理解析JavaScript惰性編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • JS實現(xiàn)html頁面點擊下載文件的兩種方式

    JS實現(xiàn)html頁面點擊下載文件的兩種方式

    這篇文章主要介紹了JS實現(xiàn)html頁面點擊下載文件的兩種方式,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • JavaScript簡易計算器制作

    JavaScript簡易計算器制作

    這篇文章主要為大家詳細介紹了JavaScript簡易計算器制作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01

最新評論

马关县| 六安市| 沁水县| 荣成市| 荣成市| 大冶市| 平谷区| 平陆县| 柯坪县| 余庆县| 四平市| 留坝县| 铁岭市| 枣强县| 龙泉市| 临泽县| 淄博市| 壶关县| 祁门县| 长沙市| 兴安县| 公主岭市| 繁昌县| 临朐县| 定州市| 宣武区| 上杭县| 噶尔县| 恭城| 集安市| 正宁县| 城步| 梅河口市| 石棉县| 永新县| 嘉禾县| 永仁县| 汶川县| 繁峙县| 威远县| 丹东市|