لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
التحقق من المدخل عن طريق الجى كويرى
السلام عليكم
يا ريث المساعدة في الجي كويري بسبب ضعف خبرتي فيها
المشكل كالتالي
عندي الصفحة الذي و التي فيها فورم بسيط
<html>
<head>
<title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript">
function get_link(){
        $.post('result.php', { link: form.link.value },
        function(resultat){
            $('#resultat').html(resultat).show();
        });
}
</script>
</head>
<body>
<form name="form" action="page.php" method="post">
<label for="link">link</label>
<input type="text" name="link" value="" />
<input type="button" value="submit" onclick="get_link();"/>
</form>
<div id="resultat"></div>
</body>
</html>
و عندي صفحة البي اتش بي ذي و التي يتم فيها التحقق
<?php
    $l = $_POST['link'];
    $p = "www.google.com";
     
    if($l == $p){
        echo'link existe';
    }else{
       echo'error';
    }
?>


الذي اريده هو ببساطة إضافة شرط في أكواد الجي كويري أنه إذا كانت الرسالة error يبقى في نفس الصفحة و إذا ظهر
link existe
يعمل Submit للفورم و ينتقل الى الصفحة page.php

أنا جربت عدة شروحات و طرق و كل مرة يظهر لي خطأً
يا ريث من عنده الحل يفيدني
بانتظار المساعدة
تاريخ البداية: 28 / يناير / 2012 الساعة 3:46 اخر نشاط: 28 / يناير / 2012 الساعة 18:16 jquery
2 إجابات
باستعمال نفس كود MacOS ونفس الفكرة ولكن اضافة بعض التجميلات وهى العد التنازلى عند وجود الللنك للتحويل ، وسنفعل ذلك عن طريق استخدام "العد التنازلى مع مكتبة الجى كويرى" وهذا هو الكود
<html>
<head>
    <title>title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript">
        function get_link(){
            var link = $("form[name='form']").find("input[name='link']").val();
            $.post('result.php', { link: link },
            function(data){
                if(data.response == 1){
                    $('#resultat').html('الرابط موجود سيتم تحويلك خلال <strong  id="countdown"></strong> ثانية').show();
                    
                    $('#resultat').find('#countdown').countDown({
                        startNumber: 5,
                        callBack: function(me) {
                            $('#resultat').text('تم التحميل ، سيتم تحويلك الان').css('color','#090');
                            $("form[name='form']").submit();
                        }
                    });                    
                    
                    
                }else{
                    $('#resultat').html('حدث خطأ ما').show();
                }
            },'json');
        }
        
        jQuery.fn.countDown = function(settings,to) {
            settings = jQuery.extend({
                startFontSize: '12px',
                endFontSize: '12px',
                duration: 1000,
                startNumber: 10,
                endNumber: 0,
                callBack: function() { }
            }, settings);
            return this.each(function() {
                 
                if(!to && to != settings.endNumber) { to = settings.startNumber; }
                 
                $(this).text(to).css('fontSize',settings.startFontSize);
                 
                $(this).animate({
                    'fontSize': settings.endFontSize
                },settings.duration,'',function() {
                    if(to > settings.endNumber + 1) {
                        $(this).css('fontSize',settings.startFontSize).text(to - 1).countDown(settings,to - 1);
                    }
                    else
                    {
                        settings.callBack(this);
                    }
                });
                         
            });
        };        
    </script>
</head>
<body>
    <form name="form" action="page.php" method="post">
        <label for="link">link</label>
        <input type="text" name="link" value="" />
        <input type="button" value="submit" onclick="get_link();"/>
    </form>
    <div id="resultat"></div>
</body>
</html>

بواسطة: molhm
منذ: 28 / يناير / 2012 الساعة 9:50

مشكور أخي أظن هناك خطأ ما لأن الكود لم يعمل
28 / يناير / 2012 الساعة 14:25

عليك تشغيله على الـlocalhost حتى يعمل
28 / يناير / 2012 الساعة 15:0

الكود الذي أعطيتني أنت أخي شغال تمام بس هذا الذي وضع الأخ ملهم غير شغال أظن يوجد خطأ ما, + و عندي استفسار: عند عمل الاستعلام من ملف البي اتش بي يقوم بالرجوع بقيمة response هل هناك إمكانية ليرجع لي متغير آخر مع response و هذا المتغير هو قيمة من قاعدة البيانات.
28 / يناير / 2012 الساعة 16:39

بالتأكيد تستطيع عليك فقط اضافته فى المصفوفة array( 'response' => $response , 'name' => 'anass')
28 / يناير / 2012 الساعة 17:14

نعم قمت بعمل نفس الشيء في الكود الذي وضعت لي و نجح الأمر مشكور أخي مجدداً
28 / يناير / 2012 الساعة 17:24

آسف أني أتعبتك معي أخي لكن عندي استفسار أخير لو تسمح, وهو أنه عند الضغط على الزر انتر ENTER من الكيبورد يتم تنفيذ الأوامر دون الإكترات بالشروط :S
28 / يناير / 2012 الساعة 17:35

على ما أظن أن المشكل بسبب <input type="button" لكن عندما أغيره الى <input type="submit" لا يعمل الكود :S
28 / يناير / 2012 الساعة 17:50

ليس عندي خبرة بالجيكويري لكن حسب ما رأيت في موقع جيكويري عليك إضافة return في <input type="submit إذا كان صحيح يعمل ارسال و إذا كان خاطئ لا يعمل حتى لا يتم تجاوزه بالضغط على enter من لوحة المفاتيح
28 / يناير / 2012 الساعة 18:16

عليك وضع الرسائل فى كود الجى كويرى وليس البى اتش بى واستعمال نوع البيانات المسمى الـjson.

الجى كويرى

<html>
<head>
    <title>title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript">
        function get_link(){
            var link = $("form[name='form']").find("input[name='link']").val();
            $.post('result.php', { link: link },
            function(data){
                if(data.response == 1){
                    $('#resultat').html('الرابط موجود').show();
                    $("form[name='form']").submit();
                }else{
                    $('#resultat').html('حدث خطأ ما').show();
                }
            },'json');
        }
    </script>
</head>
<body>
    <form name="form" action="page.php" method="post">
        <label for="link">link</label>
        <input type="text" name="link" value="" />
        <input type="button" value="submit" onclick="get_link();"/>
    </form>
    <div id="resultat"></div>
</body>
</html>
كما ترى التعديلات قمت بوضع نوع البيانات json على دالة الارسال post وتحديد المتغير data للرجوع بالبيانات بعد المرور على السيرفر فى شكل object و كود التاكيد اسمه response

البى اتش بى

<?php
    $l = $_POST['link'];
    $p = "www.google.com";
     
        if($l == $p){
            $response = 1;
        }else{
           $response = 2;
        }
    
    exit( json_encode( array( 'response' => $response ) ) );
?>
وطبعا فى حالة ان اللنك موجود اى شرط البى اتش بى $l == $p وبذلك سيكون الـ$response يساوى 1 وبذلك فسيتحقق الشرط الاول وهو اظهار "الرابط موجود" وارسال الفورم باستخدام دالة submit()

بواسطة: MacOS
منذ: 28 / يناير / 2012 الساعة 9:42

نعم مشكور اخي
28 / يناير / 2012 الساعة 14:25

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة