> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 제출 양식 방법을 간략하게 설명합니다(JavaScript 제출 양식 사용)_javascript 기술

JavaScript 제출 양식 방법을 간략하게 설명합니다(JavaScript 제출 양식 사용)_javascript 기술

WBOY
풀어 주다: 2016-05-16 15:10:24
원래의
1727명이 탐색했습니다.

최근 프로젝트 진행 중에 JavaScript를 사용하여 양식을 제출하는 데 문제가 발생했습니다. 이전에 여러 번 해봤지만, 이번에는 JavaScript를 사용하여 양식을 제출하는 여러 가지 방법을 요약하고 비교했습니다. 이 프로젝트에 가장 적합한 방식을 선택했습니다.

저는 현재 Sun Communication Suite용 사용자를 생성하기 위한 소규모 시스템을 작업하고 있습니다. 가장 쉬운 방법은 다음과 같은 연결을 사용하는 것입니다. 첫 번째 페이지 필요한 모든 데이터를 하이퍼링크에 쓰세요. 관찰해 보면 위의 링크에서 currentPage만 변경되고 다른 매개변수인 event, 키워드, searbyBy 및 cn은 변경되지 않은 것을 알 수 있습니다. 따라서 이러한 변경되지 않은 매개변수를 양식에 캡슐화할 수 있는지 생각했습니다. 사용자가 위의 하이퍼링크를 클릭하고 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>
로그인 후 복사

양식을 제출하는 과정에서 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(); 앞에 작성하여 사용자가 양식을 제출하기 전에 currentPage 매개변수를 작성하도록 주의해야 합니다. 필요한 값으로 수정되었습니다. 이런 식으로 연결을 사용하여 양식을 제출했지만 문제가 발생했습니다. 여러 페이지에서 위 코드를 시도해야 합니다. JavaScript를 균일하게 작성할 수 있다면 더 쉬울 것입니다. 앞으로 전체 시스템을 유지 관리하기 위해 JavaScript 함수를 작성했습니다.

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 이벤트에 이 함수를 사용합니다.

["+pages[j]+"], 전체 단락을 볼 수 있습니다. 코드가 훨씬 간단합니다.

그래서 정리해봤습니다. Javascript를 사용하여 양식을 작성하는 방법은 아마도 두 가지가 있을 것입니다. (현재 제가 이해한 바에 따르면)

1. document.formName.submit();

2. var 형식 = document.getElementById(id);

form.submit();

다음번에는 JNDI를 사용하여 페이징을 구현하는 방법을 여러분과 공유하고 싶습니다. 참고하실 수 있도록 이번에 코드를 첨부했습니다.

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"%>

<%@ 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" %>



Add Member to Mailing List:<%=request.getAttribute("cn")%>




Add new members to mailing list: <%=request.getAttribute("cn")%>

<% 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()){ %> <% for(Iterator iter = users.iterator();iter.hasNext();){ User user = (User) iter.next(); i++; // Attributes attrs = user.getAttrs(); %> <% } %> "/>
No. UID:gCode:Givenname:Surname:Mail:Description:
<%=i%>. <%=user.getUid()%> <%=user.getGCode()%> <%=user.getGivenName()%> <%=user.getSn()%> <%=user.getMail()%> <%if(user.getDescription()==null||user.getDescription().length()==0){%>Not Set<%} else %><%=user.getDescription()%>

Pages: <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("First Page "); } if(pager.isHasPrevious()){ out.println("Prev Page "); } for(int j=0;j["+pages[j]+"]"); }else { out.println("["+pages[j]+"]"); } } if(pager.isHasNext()){ out.println("Next Page "); } if(pager.isHasLast()){ out.println("Last Page "); } %>

<% } else { //make the mailing list member availabe when user are trying to re-run the search //request.setAttribute("members", members); %>

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 ">Search Again

<% } %>
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿