رفتن به مطلب

تبدیل فرم پنل قالب به ایجکس


پست های پیشنهاد شده

سلام

لطفا راهنمایی کنید که چطور این کارو بکنم

چند سایت رو هم دیدم مثل این

http://solislab.com/blog/5-tips-for-using-ajax-in-wordpress/#admin-ajax

ولی نفهمیدم چیکار کردن

ممنون

:x

لینک به ارسال

از این تیکه کد هم برای سیو استفاده میکنم


$options = array(
'kk_news_count'=> 5,
);
foreach($options as $key => $value){
update_option($key,$_POST[$key]);
}

لینک به ارسال

یک فایل ایجاد کنید فرضا با نام key-ajac.php و این کدها رو توش بگذارید


<?php
/* template name: key Ajax*/
if(isset($_POST['key'])) {
$options = array(
'kk_news_count'=> 5,
);
foreach($options as $key => $value){
update_option($key,$_POST[$key]);
}
_e('Updated');
}
?>

فایل را در پوشه قالب ذخیره کنید و از طریق پیشخوان برگه ای با قالب فایلی که ساختید منتشر کنید

نشانی این برگه می شه اکشن اجرایی شما

حالا فرض کنید این فرم را دارید


<div id="msg"></div>
<input id="key">
<button type="button" id="button">Button</button>

و می خواهید با کلیک بر روی button مقدار key به صورت آژاکسی ذخیره بشه کد آزاکستون می شه:


<script>
$("#button").click(function(){
var key=$("#key").val();
$.ajax({
type:"POST",
url:"نشانی صفحه ای که منتشر کرده اید",
data:{key:key}
})
.done(function(msg){
$("#msg").html(msg);
})
})
</script>

چرا هیچکس اینجا به سوالای من جواب نمیده

:blink:

مطمئنید هیچکس جواب نمی ده؟

من فکر می کنم چند موردی رو خودم جواب داده باشم!

لینک به ارسال

ممنون این روش خوبی بود

ولی یه مشکل اساسی داره

وقتی قالب رو به مشتری عرضه میکنم میخوام کمترین توضیح رو مشتری داده باشم

برای همین بهتره که خود این صفحه اوتوماتیک ساخته بشه

تا به طرف بگم برو این صفحه رو اینطوری بساز

چطوری اوتوماتیک بسازم ؟ (با کد)

مطمئنید هیچکس جواب نمی ده؟

من فکر می کنم چند موردی رو خودم جواب داده باشم!

باور کنید اینجا کسی غیر از شما جواب نمیده

می ترسم به شما هم پیام بدم بیاید به تاپیک هام سر بزنید :(

لینک به ارسال

می تونید برگه تازه نسازید کدها را در ابتدای کدهای صفحه فرم قراربدید و کل کدهای صفحه فرم را در حالت else شرط لود کنید


if(isset($_POST['key'])) {
$options = array(
'kk_news_count'=> 5,
);
foreach($options as $key => $value){
update_option($key,$_POST[$key]);
}
_e('Updated');
}
else {
//کدهای فایل فعلی پنل
}

البته برای ساختن خودکار برگه هم می شه تابع نوشت و می شه هم از اکشن آژاکس وردپرس استفاده کرد

https://codex.wordpr...p_ajax_(action)

لینک به ارسال

ممنون تا اینجا حله

حالا میخوام یه کاری کنم

مقدار همه ی input ها رو یک جا بفرستم و اونجا توی همون foreach بگیرم

توی jqeruy چطوری بنویسم ؟

js:


data: $('input').serialize()

این مقدار هارو چطوری با foreach بگیرم ؟

ویرایش شده توسط ایگل دیزاین
لینک به ارسال

<script>
$("#button").click(function(){
$(this).parents("form").find("input").each(function() {
var key=$(this).val();
$.ajax({
type:"POST",
url:"نشانی صفحه ای که منتشر کرده اید",
data:{key:key}
})
.done(function(msg){
$("#msg").html(msg);
})
})
})
</script>

لینک به ارسال

اشتباه متوجه شدید

من میخوام مقدار همه اینپوت ها رو یک دفعه بفرستم

به جای اینکه آی دی تک تکشون رو وارد کنم

لینک به ارسال

من آی دی تک تکشون رو وارد نکردم ولی اگر می خواهید یکجا ارسال شود اسکریپ زیر را به برگه معرفی کنید

jquery.form.zip

و از اسکریپتی شبیه کد زیر استفاده کنید


$(document).ready(function() {
$('#myForm').on('submit', function(e) {
e.preventDefault(); // <-- important
$(this).ajaxSubmit({
target: '#msg'
});
});
});

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...