رفتن به مطلب

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


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

سلام

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

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

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:

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

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

  • امتیاز 1
لینک به ارسال

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

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

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

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

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

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

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

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

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

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

لینک به ارسال

می تونید برگه تازه نسازید کدها را در ابتدای کدهای صفحه فرم قراربدید و کل کدهای صفحه فرم را در حالت 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)

  • امتیاز 1
لینک به ارسال

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

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

مقدار همه ی 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'
});
});
});

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...