ถามเรื่อง Ajax และการตรวจสอบ Username แล้วส่งค่ากลับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ถามเรื่อง Ajax และการตรวจสอบ Username แล้วส่งค่ากลับ

Re: ถามเรื่องAjax และการตรวจสอบUsernameแล้วส่งค่ากลับ

โดย tsukasaz » 10/01/2014 11:32 am

ลองใช้ jquery ดูสิครับ โค้ดน่าจะสั้นกว่า ลองดูตัวอย่างข้างล่าง

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>
check_username.php

โค้ด: เลือกทั้งหมด

<?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;  
}

ถามเรื่อง Ajax และการตรวจสอบ Username แล้วส่งค่ากลับ

โดย bankcute » 09/01/2014 8:23 pm

เราทำ การเช็ค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 วันนี้คะ!!! แล้วก็ไม่รู้ว่าจะส่งค่าไปกลับยังไง ช่วยด้วยค่าาา!!!
ปล.ถ้ามีโค้ดตัวอย่างจะช่วยได้มากคะ
ปล.หากมีวิธีอื่นที่ดีกว่า โปรดแนะนำด้วยคะ

ขอบคุณคะ /กราบงามๆ

ข้างบน