[英]Prevent multiple form submission using a counter?
PS -尽管Stackoverflow中还有许多其他此类问题,但我找不到我试图实现的方法。
现在,我尝试做的事情如下: -
个人资料页
Email : example@example.com [Edit Details Button]
编辑详细信息页面//如果用户单击编辑详细信息按钮,则将其发送到此处
<form id='inputform'>
<input type="text" name="email" id='email'>
<button type="submit" id='submitform'>Submit</button>
</form>
<script>
//Script part below
</script>
脚本
//validation part here
var noofsubmits = 0;
$('#submitform').on('click',function(e){
e.preventDefault();
if($('#inputform').valid()){
noofsubmits++;
if(noofsubmits == 1){
$('#inputform').submit();
//redirect users to a different page on successful form submission
}
}
});
在每次提交表单时,用户都会被重定向到个人资料页面(显示更新的信息)。 现在,每次用户尝试编辑详细信息时,varialbe noofsubmits
都会设置为0
。
我对这种方法没有任何问题,但是这种方法有什么实际问题吗? 就像如果用户在浏览器中禁用Javascript 怎么办,那么这种方法会不起作用吗?
是的,如果 javascript 在客户端被禁用,脚本部分将不会被执行。 (并且您必须在服务器端进行验证和重定向)
但是,很少有人在浏览器中禁用 javascript。
在服务器端进行验证和重定向的缺点是用户需要等待稍长的时间,因为在服务器响应客户端请求之前会有时间延迟。 但是,如果您的验证是在客户端 (javascript) 上完成的,那么用户将体验到对数据验证的即时响应。
另一方面,如果您希望在客户端呈现像 animation 这样的视觉效果,则使用 javascript 也会很好。
由于很少有人会在他们的浏览器中禁用 javascript,您可以继续使用您的 javascript 方法来完成这项工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.