웹 프론트엔드 JS 튜토리얼 Jquery는 여러 번의 클릭으로 중복 데이터가 제출되는 것을 방지하기 위해 양식 제출 버튼을 회색으로 만듭니다.

Jquery는 여러 번의 클릭으로 중복 데이터가 제출되는 것을 방지하기 위해 양식 제출 버튼을 회색으로 만듭니다.

May 16, 2016 pm 07:17 PM

양식을 제출할 때 제출 버튼을 제어해야 하며 여러 번 클릭하여 데이터를 반복적으로 제출할 수 없습니다. 그렇지 않으면 시스템에 중복된 데이터가 생겨 시스템에 데이터 쓰레기가 발생하게 됩니다. jQuery는 양식 제출 버튼을 쉽게 제어할 수 있습니다. 다음은 관련 예제와 코드입니다.

<form action="${pageContext.servletContext.contextPath}/XXX/###" method="post" id="messageForm">
	姓名:<input name = "name" type="text" />
             <button type="button" id="submit">提交申请</button>
</form>
<script>
$("#submit").click(function(){

    $(this).attr("disabled","true"); //设置变灰按钮
    $("#messageForm").submit();//提交表单
    setTimeout("$('#submit').removeAttr('disabled')",3000); //设置三秒后提交按钮 显示
     
})
</scritp></span>

</span>
로그인 후 복사

첨부: 다른 구현 방법도 js를 사용합니다

첫 번째:

<form name=fm method="POST" action="/">
<p>按钮变灰</p>
    name: <input type="text" name="name"/>
     <input type="button" value="提交" onclick="javascript:{this.disabled=true;document.fm.submit();}">

</form>
로그인 후 복사

두번째 유형 :

<form name=fm method="POST" action="/" >
  <input type="submit" name="Submit" value="提交" id="submitId" onclick="submit();">
</form>
<script language="javascript">
 function submit()
 {
 var submitId=document.getElementById('submitId');
 submitId.disabled=true;
 document.fm.submit();
 setTimeout("submitId.disabled=false;",3000); //代码核心在这里,3秒还原按钮代码
}
</script>
로그인 후 복사

앞뒤코드도 조절해야하고, 배경코드도 조절해야하고, 그래서 그것은 완벽하게 보장됩니다!

백그라운드 코드로 양식 제출을 제어하는 ​​좋은 방법은 세션을 사용하는 것입니다. 자세한 내용은 다음 블로그 게시물을 참조하세요.

실제로 반복 양식의 백그라운드 제어 원리는 다음과 같습니다. 제출:

( 1) 양식 제출 페이지에서 고유 토큰을 생성합니다. 토큰은 세션에 저장될 수 있습니다. (캐시를 사용하면 캐시에 저장할 수도 있습니다)

(2) 검증 제출 시 백그라운드에서 먼저 토큰을 검증하고 검증을 통과한 후에만 제출 작업을 수행할 수 있습니다. 🎜>

(3) 양식 데이터가 성공적으로 제출되면(데이터베이스에 저장 - 지속성) 세션(캐시)의 해당 토큰이 삭제됩니다.

더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼
을 방문하세요.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드 jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드 Feb 27, 2024 pm 06:45 PM

jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드

jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까? jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까? Feb 28, 2024 pm 03:12 PM

jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까?

jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까? jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까? Feb 28, 2024 am 08:39 AM

jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까?

jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. Feb 28, 2024 pm 09:06 PM

jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요.

jQuery를 사용하여 모든 태그의 텍스트 내용 수정 jQuery를 사용하여 모든 태그의 텍스트 내용 수정 Feb 28, 2024 pm 05:42 PM

jQuery를 사용하여 모든 태그의 텍스트 내용 수정

Laravel 양식 클래스 사용 팁: 효율성을 높이는 방법 Laravel 양식 클래스 사용 팁: 효율성을 높이는 방법 Mar 11, 2024 pm 12:51 PM

Laravel 양식 클래스 사용 팁: 효율성을 높이는 방법

jQuery에서 eq의 역할 및 적용 시나리오 이해 jQuery에서 eq의 역할 및 적용 시나리오 이해 Feb 28, 2024 pm 01:15 PM

jQuery에서 eq의 역할 및 적용 시나리오 이해

jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요? Feb 29, 2024 am 09:03 AM

jQuery 요소에 특정 속성이 있는지 어떻게 알 수 있나요?

See all articles