PDA

View Full Version : سوال: چگونه می توان یک آرایه از php را به متغیری در جاوا اسکریپت انتقال داد و دوباره آن را به php برگرداند



Ali_Sedaghat
شنبه 19 تیر 1389, 19:17 عصر
با سلام خدمت کاربران محترم و عرض تبریک به مناسبت سالروز مبعث پیامبر اکرم (ص)
غرض از مزاحمت، درخواست راهنمایی جهت حل این مشکلم می باشد
برای روشن شدن بهتر سوالم باید عرض کنم که :
من یک متغیر در php دارم که به صورت آرایه می باشد و دارای یک سری داده هایی است. مثلاً یک سری آدرس الکترونیکی (وب سایت) در متغیری به نام $varAddress ذخیره شده است
در مرحله بعد لینک ها را به کاربر نمایش داده و در کنار هر کدام یک چک باکس قرار داده ام
کاربر وقتی بر روی هر کدام از لینک ها و یا مجموعه ای از لینک ها کلیک می کند به عبارت بهتر وقتی آن ها را انتخاب می کند می خواهم توسط جاوا اسکریپت پیغامی مبنی بر حذف یا انصراف از حذف به کاربر نمایش دهم. وقتی کاربر دکمه cancel را کلیک کرد به همان صفحه ای که بوده برگردد بدون این که لینکی (آدرسی) پاک شود. در صورتی که بر روی دکمه Ok کلیک کرد به تابعی در php مراجعه کند و آن لینک یا لینک ها را پاک نماید.
مشکل من این جاست که نمی توانم مقادیر موجود در متغیر php را که همان $varAddress هست به جاوا اسکریپت منتقل کنم و در پایان آن را از جاوا اسکریپت به تابع مورد نظرم در php انتقال دهم.

در کل چگونه می توان محتوای یک آرایه از php را به جاوا اسکریپت انتقال داد و دوباره پس از انجام یک سری عملیات همان آرایه را از جاوا اسکریپت به تابع مورد نظر از php ارسال کرد ؟
اگه کسی می تونه در این زمینه مرا راهنمایی کنه، ازش ممنون می شم که جواب سوالم را بدهد.
با تقدیم احترام
صداقت

صابر طهماسبی
شنبه 19 تیر 1389, 19:36 عصر
سلام
ممنون عید شما هم مبارک
تبادل آرایه ها بین جاوااسکریپت و php سه راه دارد:


استفاده از AJAX و JSON
استفاده از AJAX و XML
استفاده از AJAX و قراردادن کاراکتر فاصل بین داده ها و خانه های آرایه و تبدیل آن به رشته سپس پردازش رشته و تکه تکه کردن آن و تبدیل مجدد به آرایه

که راه اول از سایر اصولی تر و بهتر است.

اما راجع به مثالی که گفتید و کاری که می خواهید انجام دهید اگر می خواهید آرایه را از php به جاوااسکریپت منتقل کرده و پس از تغییرات مجددا به php باز گردانید از روشهای فوق استفاده کنید،
اما اگر منظورتان این است که پس از تیک زدن چک باکس ها با کلیک بر روی کلید حذف یا هر چیز دیگر پیغامی مبنی بر تایید عملیات به کاربر نمایش دهید از رویداد onsubmit فرم استفاده کنید.
به کد زیر توجه کنید :




<script type="text/javascript">
function checkconfirm() {
var ans=confirm('آیا از حذف این موارد اطمینان دارید؟');
return ans;
}
</script>
<form action="delete.php" method="post" onsubmit="return checkconfirm();">
<input type="checkbox" name="c1" /> مورد 1 <br/>
<input type="checkbox" name="c2" /> مورد 1 <br/>
<input type="checkbox" name="c3" /> مورد 1 <br/>
<input type="checkbox" name="c4" /> مورد 1 <br/>
<input type="checkbox" name="c5" /> مورد 1 <br/>
<input type="checkbox" name="c6" /> مورد 1 <br/>
<input type="submit" value="حذف" />
</form>

Ali_Sedaghat
یک شنبه 20 تیر 1389, 17:46 عصر
جناب آقای صابر طهماسبی
ممنون از این که به سوالم جواب دادید.
جناب آقای طهماسبی امروز تونستم مشکلم را حل کنم و به جواب برسم.
باز هم از این که به سوالم جواب دادید، ازتون ممنونم
با تقدیم احترام
صداقت