繁体   English   中英

防止使用计数器提交多个表单?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM