ajax 로 값을 넘겨주려고 하는데 버튼 자체가 작동을 안 합니다. 채택완료
function send_code_hp(){
var input_id = document.getElementById("mb_id").value.trim();
var input_hp = document.getElementById("mb_hp").value.trim();
var error_text = document.getElementById("error_text");
if(input_id === "" || input_hp === ""){
error_text.textContent = "로그인 정보를 입력하세요.";
}else{
// AJAX 요청을 보내는 부분
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState === XMLHttpRequest.DONE){
if(xhr.status === 200){
var response = xhr.responseText;
var error_text = document.getElementById("error_text");
if(response === "id_not_found" || response === "hp_not_found"){
error_text.textContent = "잘못된 로그인 정보입니다."
}else if(response === "success"){
error_text.textContent = "인증번호가 발송되었습니다.";
$("#btn_send_code_hp").prop("disabled", true); // 인증번호 발송 후 버튼 비활성화
}else{
error_text.textContent = "오류가 발생했습니다. 다시 시도해주세요.";
}
console.log(response); // response 결과
}
}
};
xhr.open("POST", "send_code_hp.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("mb_id=" + encodeURIComponent(input_id) + "&mb_hp=" + encodeURIComponent(input_hp));
return false;
}
}
이렇게 입력한 값을 ajax 로 넘겨주고 넘겨준 값의 응답에 따라서
include_once('./_common.php');
include_once(G5_SMS5_PATH . '/sms5.lib.php');
if(isset($_POST['mb_id']) && isset($_POST['mb_hp'])) {
$mb_id = $_POST['mb_id'];
$mb_hp = $_POST['mb_hp'];
$sql = " SELECT * FROM g5_member WHERE mb_id = '$mb_id'";
$row = sql_fetch($sql);
if(!$row['mb_id']){
echo "id_not_found";
}else if(!$row['mb_hp']){
echo "hp_not_found";
}
}
?> 값을 반환하려고 하는데 값이 ajax 로 보내지지 않습니다. ajax 로 받는 파일의 위치는 bbs 로 했는데 이거랑은 상관 없는거 같고 .. 왜 ajax 로 값이 전달이 안될까요?
답변 3개
document.getElementById("mb_id")
-> document.getElementById("login_id")
</p>
<p><script>
function send_code_hp() {
var input_id = $('#login_id').val();
var input_hp = $('#mb_hp').val();</p>
<p> var error_text = $('#error_text');</p>
<p> </p>
<p> if (input_id == "" || input_hp == "") {
$('#error_text').text("로그인 정보를 입력하세요.");
}</p>
<p> $.ajax({
url: './send_code_hp.php',
type: 'POST',
data: {mb_id : input_id, mb_hp : input_hp},
success: function(response) {
if (response == "id_not_found" || response == "hp_not_found") {
$('#error_text').text("잘못된 로그인 정보입니다.");
} else if (response == "success") {
$('#error_text').text("인증번호가 발송되었습니다.");
$("#btn_send_code_hp").prop("disabled", true);
} else {
$('#error_text').text("오류가 발생했습니다. 다시 시도해주세요.");
}
console.log(response);
}
});
}
</script></p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인