JavaScript 提交表单的方式 (Using JavaScript Submit Form)

本文介绍了一种利用JavaScript改进表单提交方式的方法,通过将不变参数封装到表单中并结合JavaScript进行动态提交,简化了页面操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 JavaScript 提交表单的方式 (Using JavaScript Submit Form)

 

最近做项目遇到用Javascript提交表单的问题, 之前也做过几次, 但是不够全面, 这次总结出了几种用JavaScript提交表单的方式, 并且对此作出了比较, 选出了一种最适合此项目的方式。

 

我目前正在为Sun Communication Suite做一个创建用户的小型系统,大家都知道我们可以通过表单,Ajax 和链接来访问服务器, 最简单的方法就是使用连接, 例如:<a href=UserServlet?event=SEARCH_MAILING_LIST&currentPage=1&keyword="+keyword+"&searchBy="+searchBy+"&cn="+request.getAttribute("cn")+">First Page</a>, 把所有需要的数据全部写到超链接上, 如果你能够观察一下就会知道,在上边的链接中只有currentPage是变化的, 其他参数event, keyword, searbyBy和cn是不变的, 那么我就想到如果我能够把这些不变的参数封装到一个表单中, 当用户点击上面的超链接的时候我用JavaScript把这个表单提交, 那么我自然会访问到服务器。

表单:

在提交表单的过程中, 我只需要把参数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的函数。

然后我在超连接的onclick事件上条用这个函数:

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

所以我总结了一下,用Javascript提交表单大概有两种写法(根据我目前的理解)

1. document.formName.submit();

2.  var form = document.getElementById(id);
    form.submit();
下次我想和大家分享一下用JNDI实现分页。我把这次的代码附在下边, 大家可以参考一下。

commons.js

 

mailingListMemberAdd.jsp

      

 

创建一个简单的登录表单(login form)使用JavaScript,我们将编写HTML结构和相关的客户端验证脚本。以下是一个基本示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login Form</title> <style> .error { color: red; } </style> </head> <body> <form id="loginForm"> <label for="username">Username:</label><br> <input type="text" id="username" name="username"><br> <span id="usernameError" class="error"></span><br> <label for="password">Password:</label><br> <input type="password" id="password" name="password"><br> <span id="passwordError" class="error"></span><br> <button type="submit">Login</button> </form> <script> document.getElementById('loginForm').addEventListener('submit', function(event) { event.preventDefault(); // 阻止表单默认提交 const username = document.getElementById('username'); const password = document.getElementById('password'); if (username.value === '' || password.value === '') { // 如果用户名或密码为空 if (username.value === '') { usernameError.textContent = 'Please enter your username'; } else { passwordError.textContent = 'Please enter your password'; } } else { // 这里只是一个基本示例,实际应用中你需要将密码加密并检查是否正确 // 此处可以添加数据库交互逻辑,验证用户名和密码 alert('Login successful!'); // 清除错误消息 usernameError.textContent = ''; passwordError.textContent = ''; } }); </script> </body> </html> ``` 这个代码创建了一个包含用户名和密码输入框的登录表单。当用户尝试提交时,JavaScript会阻止默认行为,并在输入不完整时显示错误提示。如果所有字段都已填写,它会显示一条成功的消息(这里仅作示例,实际上应连接到服务器验证)。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值