您好,欢迎访问一九零五行业门户网

简述JavaScript提交表单的方式 (Using JavaScript Submit Form)_javascript技巧

最近做项目遇到用javascript提交表单的问题, 之前也做过几次, 但是不够全面, 这次总结出了几种用javascript提交表单的方式, 并且对此作出了比较, 选出了一种最适合此项目的方式。
我目前正在为sun communication suite做一个创建用户的小型系统,大家都知道我们可以通过表单,ajax 和链接来访问服务器, 最简单的方法就是使用连接, 例如:first page, 把所有需要的数据全部写到超链接上, 如果你能够观察一下就会知道,在上边的链接中只有currentpage是变化的, 其他参数event, keyword, searbyby和cn是不变的, 那么我就想到如果我能够把这些不变的参数封装到一个表单中, 当用户点击上面的超链接的时候我用javascript把这个表单提交, 那么我自然会访问到服务器。
表单:

在提交表单的过程中, 我只需要把参数currentpage传给javascript就好了,所以我就把上面的连接改为下边的形式:
[+pages[j]+]
大家要注意一定要把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 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
add member to mailing list: add new members to mailing list: no. uid: gcode: givenname: surname: mail: description:
. not set
select all deselect all
pages:<%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
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

其它类似信息

推荐信息