ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript投稿フォームの作り方を簡単に説明(JavaScript Submit Formの使い方)_javascriptスキル

JavaScript投稿フォームの作り方を簡単に説明(JavaScript Submit Formの使い方)_javascriptスキル

WBOY
リリース: 2016-05-16 15:10:24
オリジナル
1755 人が閲覧しました

最近、プロジェクト中に JavaScript を使用してフォームを送信するという問題に遭遇しました。以前にも何度か実行しましたが、今回は JavaScript を使用してフォームを送信するいくつかの方法をまとめて比較しました。このプロジェクトに最適な方法を選択しました。

私は現在、Sun Communication Suite のユーザーを作成するための小規模なシステムに取り組んでいます。フォーム、Ajax、リンクを使用してサーバーにアクセスできることは誰もが知っています。たとえば、最初のページ、必要なデータをすべてハイパーリンクに書き込みますか?観察していただければ、上記のリンクでは currentPage のみが変更され、他のパラメータのevent、keyword、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>
ログイン後にコピー

ユーザーがフォームを送信する前に、パラメーター currentPage が変更されるように、document.pagination.currentPage.value="+pages[j]+"; を document.pagination.submit(); の前に記述することに注意する必要があります。 has been は必要な値に変更されます。 このように、接続を使用してフォームを送信することは完了しましたが、多くのページで上記のコードを試す必要があるという問題が発生しました。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 を使ってフォームを書くにはおそらく 2 つの方法があると思います (私の現在の理解によると)

1. document.formName.submit();

2. var form = 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート