• 회원가입
  • 로그인
  • 구글아이디로 로그인

[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;

?>

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
AJAX JS - AJAX (아작스) 소개
AJAX JS - AJAX - XMLHttpRequest() 메서드 ★ - 객체생성 (= 아작스/에이잭스 핵심 = X…
AJAX JS - AJAX - open()/send() 메서드 ★ - 서버에 요청 보내기 (GET방식 vs POST방…
AJAX JS - AJAX - Server Response (서버응답) - 콜백함수 사용 예제
AJAX JS - AJAX - XML 아작스 예제 (= xml 데이터 불러와 표만들기)
4/67
목록
찾아주셔서 감사합니다. Since 2012