เราทำ การเช็คUsername ด้วย Ajax เวลาสมัครคะ
ซึ่งก็สามารถเช็คได้เรียบร้อยแล้ว แต่ปัญหาคือ
เวลากดSubmit มันจะไม่เช็คให้คะ เพราะที่เราทำมันแค่แสดงผลว่า ok หรือ ไม่
ตัวอย่าง หน้าA : เป็นหน้ากรอกUsername มีAjax ส่งไป หน้า B
หน้าB : คอยรับข้อมูลจากหน้าA แล้วดึงข้อมูลจากฐานข้อมูลมาตรวจสอบ ก่อนจะแสดงผลว่าโอเคหรือไม่
เราเลยอยากให้ >>>>>
1.หน้าB เมื่อเช็คว่า โอเค ให้ส่งข้อมูลกลับหน้าA [สมมุติว่าข้อมูลนั้นคือ a=1]
2.หน้าAรับ [a=1] มาเก็บไว้ก่อน เมื่อผู้ใช้กรอกหมดทุกข้อ กด Submit จะไปยังฟังชั่น alerttext เพื่อตรวจสอบว่า a=1 มั้ย
ตัวอย่าง
function alerttext()
{
if(a!=1) //ไม่รู้ใส่ถูกมั้ย
{
alert('กรุณากรอกUsernameให้ถูกต้อง ');
return false;
}
}
คำถาม!!!!!
เราเพิ่งศึกษาAjax วันนี้คะ!!! แล้วก็ไม่รู้ว่าจะส่งค่าไปกลับยังไง ช่วยด้วยค่าาา!!!
ปล.ถ้ามีโค้ดตัวอย่างจะช่วยได้มากคะ
ปล.หากมีวิธีอื่นที่ดีกว่า โปรดแนะนำด้วยคะ
ขอบคุณคะ /กราบงามๆ
ถามเรื่อง Ajax และการตรวจสอบ Username แล้วส่งค่ากลับ
Moderator: mindphp, ผู้ดูแลกระดาน
-
- PHP Newbie
- โพสต์: 1
- ลงทะเบียนเมื่อ: 09/01/2014 8:21 pm
- tsukasaz
- PHP VIP Members
- โพสต์: 22101
- ลงทะเบียนเมื่อ: 18/04/2012 9:39 am
Re: ถามเรื่องAjax และการตรวจสอบUsernameแล้วส่งค่ากลับ
ลองใช้ jquery ดูสิครับ โค้ดน่าจะสั้นกว่า ลองดูตัวอย่างข้างล่าง
html
check_username.php
html
โค้ด: เลือกทั้งหมด
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Check Username</title>
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function() {
$('#save').click(function() {
var username = $('#username').val();
$.ajax({
url: 'check_username.php?username=' + username,
success: function(data) {
if(data == 1) {
alert('Username ซ้ำ');
} else {
$('#frm').submit();
}
},
cache: false
});
return false;
});
});
</script>
</head>
<body>
<form name="frm" id="frm" method="post">
<input type="text" name="username" id="username" />
<input type="submit" id="save" value="Save" />
</form>
</body>
</html>
โค้ด: เลือกทั้งหมด
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
$username = $_GET['username'];
$result = mysql_query('select * from user where username = "'. $username .'"');
if(mysql_num_rows($result) > 0) {
echo 1;
}else{
echo 0;
}
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 78