🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۱۴ پری هاشمی
عمل نکردن ajax
خانم پلاگه فهمیده حل شده توسط خانم پلاگه فهمیده

سلام و وقت بخیر

استاد زمانی که کدهای ajax  رو مینویسم و روی button کلیک میکنم صفحه باز هم رفرش میشه در صورتی که توی سورس صفحه ی لاگین فایل js وجود داره 

سلام خدمت شما. احتمالا کدهای JS مشکل دارن.کدهایی که برای handle کردن submit event نوشتید به درستی کار نمیکنه.

استاد روجا قنبری ۳۰ خرداد ۱۳۹۹، ۱۳:۰۷

ولی کاملا مشابهه ویدیو هستش کد ها 

از تگ <submit/> استفاده کردم کلا رفرش میشه ولی input با تایپ submit خروجی 0 میده

پری هاشمی ۳۰ خرداد ۱۳۹۹، ۱۳:۱۰

خب ما چیزی به نام تگ submit نداریم.نمونه کدهای ajax رو به صورت کد در همین جا ارسال کنید.

استاد روجا قنبری ۰۱ تیر ۱۳۹۹، ۱۰:۰۶

jQuery(document).ready(function($){
        $('#rigester_form').on('wp_alth_register',function (event) {
                event.preventDefult();
                let email_input = $('#email_input').val();
                let name_input = $('#wp_alth_register');
                let lastname_input = $('#lastname_input');
                let password_input = $('#password_input').val();
                $.ajax({
                        url : '/wp-admin/admin-ajax.php',
                        type : 'post',
                        datatype : 'json',
                        data : {
                                action:'wp_alth_register',
                                user_email: email_input ,
                                user_name: name_input ,
                                user_lastname: lastname_input ,
                                user_password: password_input ,
                        },
                        success: function(response){
                        },
                        error: function(error){
                                if(error){
                                        alert('error ajax');
                                }
                        }
                });
        });
});

کد‌های ajax

<div class="auth-wrapper">
<div class="register-wrapper">
<form id="rigester_form"  method="post">
        <div class="form_row">
                <label for="email_input">
                        Type in Email
                </label>
                <input type="text" id="email_input" name="email">
        </div>
        <div class="form_row">
                <label for="name">
                        Type in name
                </label>
                <input type="text" id="name_input" name="name">
        </div>
        <div class="form_row">
                <label for="lastname_input">
                        Type in lastname
                </label>
                <input type="text" id="lastname_input" name="lastname">
        </div>
        <div class="form_row">
                <label for="password_input">
                        Type in Password
                </label>
                <input type="password" id="password_input" name="password">
        </div>
                <br>
                <input type="hidden" name="create_applicant" value="create_applicant">
        <div class="form_row">
                <button name="wp_alth_register">sign in</button>
        </div>
</form>
</div>
</div>

کد‌های فرم

 

هرررکاری میکنم بازم رفرش میشه ?

پری هاشمی ۰۱ تیر ۱۳۹۹، ۱۷:۵۵
$('#rigester_form').on('wp_alth_register',function (event) {

لطفا دقت کنید که رویدادی به اسم wp_alth_register نداریم و باید این برابر با submit باشه.

استاد روجا قنبری ۰۲ تیر ۱۳۹۹، ۰۵:۵۰

بله submit هم گذاشته بودم ولی نشد الان هم دوباره امتحان کردم ولی کار نمیکنه

پری هاشمی ۰۲ تیر ۱۳۹۹، ۰۵:۵۳

برای button یک attribute به اسم type=submit تعریف کنید و دوباره تست کنید

استاد روجا قنبری ۰۲ تیر ۱۳۹۹، ۰۷:۱۸

تست کردم و رفرش میشه توی سورس صفحه ای که شورتکد رو میذارم هم فایل js لینک شده و هستش حتی alert خالی هم که توی فایل js میزارم بعد از رفرش صفحه alert  نمیده

پری هاشمی ۰۲ تیر ۱۳۹۹، ۰۸:۵۷

مقدار lastname_input رو هم چک کنید چون متد val رو براش فرخوانی نکردید.

استاد روجا قنبری ۰۳ تیر ۱۳۹۹، ۰۸:۴۲

اتفاقی نیوفتاد

 

پری هاشمی ۰۳ تیر ۱۳۹۹، ۰۸:۵۰

این کد رو تست کنید ببینید چطور میشه.

$(document).on('submit','#rigester_form',function (event) {

 

استاد روجا قنبری ۰۳ تیر ۱۳۹۹، ۰۸:۵۵

استاد این سری کل فایل پلاگین رو فرستادم.

امتحان کردم کد رو  باز هم نشد.

شاید مشکل از جای دیگه ی پلاگین باشه چون هروقت پلاگین فعاله و نوشته اضاف میکنم یا بروزرسانی میکنم خطای json میده.

این پیغام رو میده 

(به‌روزرسانی ناموفق بود. پاسخ، یک پاسخ JSON معتبر نیست.)

ممنون میشم یه چک کنید

پری هاشمی ۰۳ تیر ۱۳۹۹، ۰۹:۰۳

سلام .

داخل فایل js :

رویداد برابر submit بزارید.

$("#rigester_form").on("submit", function (event) {

event.preventDefault() اشتباه نوشته شده .

//event.preventDefult();
event.preventDefault();

id فیلد name هم اشتباه نوشته شده.

//let name_input = $("wp_alth_register").val();
let name_input = $("#name_input").val();

داخل فایل function.php :

// add_action('wp_ajax_create_applicant','create_applicant');
add_action('wp_ajax_nopriv_wp_alth_register','create_applicant');

که wp_ajax_nopriv_actionname باید استفاده کنید.

بهترین پاسخ
خانم پلاگه فهمیده ۰۳ تیر ۱۳۹۹، ۱۶:۲۳

ایول? 

چه اشتباه های  بدی داشتم ??

درست شد سپاااااس 

پری هاشمی ۰۳ تیر ۱۳۹۹، ۱۶:۳۳