JavaScript

[AJAX] JS - AJAX - PHP 아작스 예제 ★ (= 입력제시어 = 입력예제)

작동 메커니즘 

 

1.
입력창에 문자 입력 시, onkeyup 이벤트에 의해 hz() 함수가 실행됨.

 

2.
문자열 길이로 입력 여부 확인 (str.length == 0).

2-1.
입력창이 비어있는 (즉, str.length == 0) 경우라면,
id="txtHint" 요소의 placeholder 내용을 지우고 함수를 종료.

 

2-2.

입력창이 비어있지 않은 (즉, str.length !== 0) 경우라면,

XMLHttpRequest 객체 만들기

서버 응답이 준비되었을 때 실행될 함수를 생성.

요청을 서버의 PHP 파일 (a.php)로 보냄.

q 매개 변수는 입력한 문자열임. (즉,  a.php? q = "+ str)
str 변수는 입력 필드의 내용을 유지

 


b.php

아래 제시어들 입력해보세요.

※ 홈짱닷컴 

※ Homzzang.com

※ 홈페이지 제작 가이드


<p>제안: <span id="txtHint"></span></p> 


<p>First name: <input type="text" id="txt1" onkeyup="hz(this.value)"></p>


<script>

function hz(str) {

  var xhttp;

  if (str.length == 0) { 

    document.getElementById("txtHint").innerHTML = "";

    return;

  }

  xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function() {

    if (this.readyState == 4 && this.status == 200) {

      document.getElementById("txtHint").innerHTML = this.responseText;

    }

  };

  xhttp.open("GET", "a.php?q="+str, true);

  xhttp.send();   

}

</script>

 


a.php

<?php

$a[] = "홈짱닷컴";

$a[] = "Homzzang.com";


$q = $_REQUEST["q"];


$hint = "";


if ($q !== "") {

  $q = strtolower($q);

  $len=strlen($q);

  foreach($a as $name) {

    if (stristr($q, substr($name, 0, $len))) {

      if ($hint === "") {

        $hint = $name;

      } else {

        $hint .= ", $name";

      }

    }

  }

}


echo $hint === "" ? "제안 없음" : $hint;

?>

 



분류 제목
JSON JS - JSON - JSON.stringify() 함수 ★ - (JS객체 → JSON문자열) 변환. ※ P…
JSON JS - JSON - PHP (= 서버연동 = DB연동)
JSON JS - JSON - HTML (= 테이블 및 드롭다운 형태로 출력 + 출력개수선택)
JSON JS - JSON - JSONP (= script 이용한 서버연동)
String JS - String - 문자열
String JS - constructor 속성 - 객체생성자함수반환. (문자열 경우)
String JS - length 속성 ★ - 문자열길이 반환 (= length속성 = 렝스속성) ※ 문자개수/텍스트길이…
String JS - prototype 속성(문자열) - 객체에 사용자정의 속성 및 메서드 추가 (프로토타입)
String JS - charAt() 메서드 ★ - 문자열의 지정 위치 문자. (= charAt메서드) ※ 개별문자에 스…
String JS - charCodeAt() 메서드 - 문자열의 지정위치문자의 유니코드 (= charCodeAt메서드 =…
String JS - concat() 메서드 ★ - 문자열결합 (= 문자열합치기 = concat메서드 = 컨캣메서드)
String JS - endsWith() 메서드 - 지정문자열로 끝나는지(=종료) 여부 (IE12이상)
String JS - fromCharCode() 메서드 - 유니코드를 문자열로 변환
String JS - includes() 메서드 ★ - 지정문자열포함여부 (= includes메서드 = 인클루드즈메서드)
String JS - indexOf() 메서드(문자열) ★ - 처음일치문자열위치찾기 (= 문자열포함검사 = 인덱스어브메서…
7/89
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드 1
제작의뢰
Q&A
커뮤니티 1
웹유틸
회원센터
홈짱닷컴 PC버전 로그인