JQuery는 PHP AJAX 양식 제출을 생성합니다. example_jquery

ringa_lee
풀어 주다: 2018-05-14 15:15:54
원래의
1743명이 탐색했습니다.

JQuery의 기본 구문에 익숙하지 않은 경우 이 사이트에서 튜토리얼 리소스를 검색해 보세요. PHPMailer 사용법에 익숙하지 않은 경우 이 사이트의 "PHPMailer 클래스 라이브러리를 사용하여 이메일 보내기"의 다른 기사를 확인하십시오.
첫 번째 단계는 양식 HTML 페이지를 만드는 것입니다
여기서는 HTML 구조 코드의 기본 양식 부분만 표시합니다.

코드는 다음과 같습니다.

<div id="contact_form"> 
<form name="contact" method="post" action=""> 
<fieldset> 
<label for="name" id="name_label">姓名</label> 
<input type="text" name="name" id="name" size="30" value="" class="text-input" /> 
<label class="error" for="name" id="name_error">此项必填</label> 
<label for="email" id="email_label">您的Email</label> 
<input type="text" name="email" id="email" size="30" value="" class="text-input" /> 
<label class="error" for="email" id="email_error">此项必填</label> 
<label for="phone" id="phone_label">您的联系电话</label> 
<input type="text" name="phone" id="phone" size="30" value="" class="text-input" /> 
<label class="error" for="phone" id="phone_error">此项必填</label> 
<br /> 
<input type="submit" name="submit" class="button" id="submit_btn" value="我要发送" /> 
</fieldset> 
</form> 
</div>
로그인 후 복사

몇 가지 참고:
여기서 ID가 포함된 contact_form은 포함된 전체 정보를 포함하는 데 사용됩니다. 이는 의미가 있으며 나중에 JavaScript가 사용자와 상호 작용할 때 사용됩니다. 두 번째 단계는 JQuery 코드 추가 시작입니다.
JQuery 공식 홈페이지에서 JQuery 기본 라이브러리를 다운로드한 후 자신의 WEB 서버에 업로드하고, 원하는 웹 페이지에 추가했다고 가정합니다. 사용.
이제 새 JS 파일을 만들고 다음 코드를 추가하세요.


코드 복사 코드는 다음과 같습니다.$(function( ) {

$(".button").click(function() {

// 양식 유효성 검사 및 백그라운드 처리 논리 처리
});
});

첫 번째 줄의 function() 함수는 Jquery의 document.ready 함수와 사용법 및 기능이 동일하며 DOM이 준비된 후 자동으로 실행됩니다.

두 번째 줄에는 클릭 트리거 함수 click()이 포함되어 있습니다. 양식 제출 기능을 시뮬레이션하려면 "button"이라는 클래스를 HTML 페이지 제출 버튼에 배치해야 합니다. 두 번째 점은 JQuery가 구조와 논리를 매우 잘 분리할 수 있다는 것을 알 수 있습니다.

세 번째 단계는 인증코드를 작성하는 것입니다.
실제 응용에서는 이 단계가 필수적입니다. 사용자가 항목을 놓치거나 잘못 입력한 경우 즉시 메시지를 표시합니다.



코드 복사

코드는 다음과 같습니다.$(function() { $('.error' ).hide ();

$(".button").click(function() {

// 인증코드

$('.error').hide();
var name = $("input#name").val();
if (name == "") {
$("label#name_error").
$( "input# name").focus();
return false
}
var email = $("input#email").val()
if (email == "" ) {
$("label#email_error").show();
$("input#email").focus()
return false
}
varphone = $(" input#phone").val();
if (phone == "") {
$("label#phone_error").show()
$("input#phone ").focus();
return false;
}
});
});

몇 가지 참고 사항:
2번째 줄에 $를 추가합니다. ('.error').hide()는 사용자가 정보를 입력하지 않을 때 오류를 표시하는 class="error"로 세 개의 레이블 레이블을 숨기는 것입니다. 그리고 오류가 있는 경우에만 오류가 나타납니다. 즉, 비어 있습니다. (false를 반환하는 함수 때문에 매번 한 번의 오류만 발생합니다.)

JQuery에서는 DOM에서 ID나 Class의 값을 얻는 것이 매우 간단합니다




코드 복사

코드는 다음과 같습니다. //id 값 가져오기var name = $("input#name").val() ;

//클래스 번호 값 1 가져오기

var name = $(".name")[1].val()
이제 사용자가 이름을 입력하지 않는다고 가정하면, 처리 논리는 먼저 오류를 표시한 다음 상위 이름에 초점을 맞춰야 합니다.
if (name == "") { //사용자 이름이 비어 있습니다
$("label#name_error").show() //오류 메시지
$("input#name") . focus(); //포커스 위치 지정
return false; //Return
}

필수 필드를 확인할 때 false를 반환해야 합니다. 그렇지 않으면 필수 필드가 불완전해집니다. 제출한 경우.
네 번째 단계는 Jquery의 Ajax 기능을 통해 양식 정보를 제출하는 것입니다.

이 튜토리얼에서 새로 고침 없는 제출을 구현하는 핵심 단계는 JavaScript로 DOM에서 얻은 양식 항목 값을 ajax 함수를 통해 제출한 후 백그라운드 처리 프로그램(process.php)에 비동기적으로 제출하는 것입니다. 그리고 이메일이 전송됩니다. 이 단계는 확인 프로세스 직후입니다.




코드 복사

코드는 다음과 같습니다. var dataString = 'name= ' 이름 ' &email=' 이메일 '&phone=' 전화 //alert (dataString); return false

$.ajax({

type: "POST",
url: "bin /process.php",
데이터: dataString,
성공: function() {
$('#contact_form').html("

");
$( '#message ').html("

연락처 정보가 성공적으로 제출되었습니다!

")
.append("

Code52.net의 스크립트

")
.hide()
.fadeIn(1500, 함수 () {
$('#message').append("JQuery는 PHP AJAX 양식 제출을 생성합니다. example_jquery");
}
})
return false; code 핵심 함수는 .ajax() 입니다. 해당 함수는 POST 메서드를 사용하여 얻은 양식 정보(dataString)를 정의된 배경 PHP URL(bin/process.php)에 비동기적으로 전송하는 것입니다. 우리가 정의한 일련의 메시지가 사용자에게 반환되고 최종적으로 false를 반환합니다. 이는 페이지가 다시 로드되는 것을 방지하기 위한 것입니다.
성공 메시지 반환 및 이메일 전송 외에도 더 광범위한 작업을 수행할 수 있습니다. 획득한 데이터를 백그라운드 스크립트로 처리하면 해당 데이터가 데이터베이스에 삽입된 후 사용자가 제출한 정보가 반환됩니다.
자세한 설명:
먼저 양식의 값을 가져옵니다. 이 작업은 세 번째 단계에서 이미 수행했습니다.
var name = $("input#name").val()
var email = $("input#email").val ();
varphone = $("input#phone").val();
//양식 항목의 값을 문자열로 결합합니다.
var dataString = 'name=' name '&email=' email '&phone='phone
이 결합된 문자열의 값은 AJAX 함수를 통해 배경 URL로 전달됩니다. 성공하면 사용자에게 성공 정보가 반환됩니다.


코드 복사 코드는 다음과 같습니다. $.ajax({

type: "POST",

url: "bin/ process.php",
데이터: dataString,
성공: function() {
$('#contact_form').html("

");

$(' #message').html("


문의 양식이 제출되었습니다!

")

.append("


곧 연락드리겠습니다.

")

.hide()

.fadeIn( 1500, function() {
$('#message').append("
");
}); JQuery는 PHP AJAX 양식 제출을 생성합니다. example_jquery}
});
return false
이 예에서는 ajax 함수에 대한 추가 정보가 필요한 경우 공식 문서를 참조할 수 있습니다. ajax 함수에 대한 jQuery 문서
5단계, 사용자에게 피드백 정보
먼저 정보가 성공적으로 제출된 후 JQuery는 다음 부분을 통해

의 내용을 동적으로 교체합니다. 간단한 문장만으로도 가능합니다.

$('#contact_form').html("


");

그러므로 나중에 JavaScript를 통해 특정 레이어를 동적으로 교체해야 하는 경우 Jquery를 사용할 수 있다는 점을 기억하세요. html 메소드 구현은 매우 간단하고 편리합니다.

두 번째로, 이 레이어를 갖는 것만으로는 충분하지 않습니다. 왜냐하면 콘텐츠가 없기 때문입니다. 따라서 id=message인 레이어에 일부 표시 콘텐츠를 추가해야 합니다.
$('#message').html ("

연락처 정보가 성공적으로 제출되었습니다!

")

메시지 ID가 있는 레이어에 HTML 조각도 동적으로 추가됩니다. 메시지 레이어에 문장을 추가하기 위해 추가 메소드를 사용할 수도 있습니다:

.append("

곧 연락드리겠습니다.

")

마지막으로 제출 후 서버 처리의 동적 효과를 보여주기 위해 다음과 같은 특수 효과 코드를 설정했습니다.

.hide() //전체 레이어가 사라집니다
.fadeIn(1500, function() {//점진적으로 1500밀리초 이내에 표시됩니다.
/ /마지막으로 성공 아이콘을 동적으로 추가합니다.
$('#message').append("
")
}); 이 예를 실제로 적용하려면 아직 몇 가지 변경이 필요할 수 있습니다. 예를 들어 확인 정보 규칙을 추가하고 사용자가 정보를 제출하는 동안 로딩 아이콘을 설정하는 등의 작업을 수행합니다. 이 튜토리얼은 아이디어를 소개하는 데에만 사용됩니다. 또한, 백그라운드에서 데이터가 메일박스로 전송된다는 점을 참고하시기 바랍니다. 여기서는 이에 대한 설명을 생략하겠습니다. 패키지된 다운로드 예제에는 매우 자세한 설명이 있습니다. 변경해야 할 것은 사용자 이름과 비밀번호뿐입니다. 압축된 패키지를 다운로드한 후 내부에 runonload.js 파일이 있음을 확인할 수 있습니다. 이 파일의 기능은 양식 파일을 로드할 때 입력 양식에 집중하는 것입니다. JQuery는 PHP AJAX 양식 제출을 생성합니다. example_jquery

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿