راکت
حل شده

نحوه ی ارسال ارایه در فرم

5 پاسخ

سلام وقتتون بخیر
کسی میتونه کمکم کنه بگه چه طور میتونم یک ارایه رو به کمک فرم ارسال کنم
<input type="hidden" name="priceReng" id="priceRang" value="{{$priceRang}}">
این کد رو با متد post میزنم این ارور رو میده
htmlspecialchars(): Argument #1 ($string) must be of type string, array given
میدونم دلیلش {{}} بلید هست ولی نمی دونم چه طوری باید ارایه رو ارسال کنم

ثبت پرسش جدید

پاسخ‌ها

5
محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

بهترین پاسخ

سلام
کسی داده ی ارایه توی فرم قرار نمیده برای یک input چون اصلا همچین input وجود نداره
مثلا چک باکس داریم با یک نام و مقادیر مختلف که به ازای هر داده باید یک آپشن داشته باشی دیگه که در نهایت داده ها سریالایز بشه ارایه بشه
شما هم نیاز داری با نام یک سان input بسازی و توی یه حلقه عمل ایجاد و قرار دادن نام و مقادیر رو انجام بدی که بعد ارسال داده ی فرم داشته باشی ( که اصلا پیشنهاد نمیشه و برای این کار از درخواست ajax مثلا استفاده میکنن و اصلا همچین داده ای توی فرم ایجاد نمیشه که نیاز بشه )
و توضیح اخرمم این که در جریان هستید که بلید لاراول یک بار و فقط در بارگزاری اولیه صفحه رندر میکنه و در هین کار اصلا کاری به کار اون کد ها نداره و انگار شما همچین چیزی دیگ نداری
حرفم اینه که هر مقداری در درخواست اول و بارگزاری صفحه داشته باشه متغییر $priceRang در پایان هم همون مقدار رو داره ( مگر اینکه صفحه رندر بشه که در لاراول ما نداریم اینو و در لایو وایر داریم livewire که اون هم اصلا نیاز به ارسال فرم به این شکل نداره و خیلی داده ها رو راحت ردو بدل میکنه یه جور حس اینو میگیری که همه ی درخواست ها ajax اما خیلی کد کمتر و تمیز ترو با سینتکس بکند خودمون )

حالا تهش چیزی که میخوایی به شکل زیر پیاده میشه که کار درستی نیست و یه جای کار میلنگه تو داستان به نظر
مثل کد زیر برای ساخت اینپوت و لینک رو هم ببین

<input type="text" name="qty[]" value="1" />
<input type="text" name="qty[]" value="2" />
<input type="text" name="qty[]" value="3" />
<input type="text" name="qty[]" value="4" />

این لینک رو هم یه نگاهی بزن

<input type="hidden" name="items[{{ $item->id }}][name]" value="{{ $item->name }}" />
<input type="hidden" name="items[{{ $item->id }}][price]" value="{{ $item->price }}" />
زهرا سلطانپور
زهرا سلطانپور
@Zsoltanpour

از جواب کامل و جامع تون متشکرم
خیلی لطف کردین

محمد گل کار
محمد گل کار
@golkarm58

تخصص: Auditor

با کسب اجازه از محضر استاد گرامی و تشکر از ایشون بابت پاسخ کاملشون
من هم یک مطلب کوچیک بگم و اون اینکه همونطور که در کدهای نمونه هم مشاهده میکنید برای نام input باید از فرمت آرایه استفاده میکردید تا با این Error روبرو نشید.

شاید پاسخ شما همین‌جا باشد

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

@golkarm58
نه اون خطا که میگه باید مقدار ارایه پارس به رشته بشه و بعد در صفحه html قرار بگیره به نوع input کاری نداره مثل کد زیر

{{ json_encode($priceRang) }}

در نهایت هم که مقدار داده ای رشته بشه باز هم در بکند باید رشته تبدیل به ارایه بشه که مشکلات خودشو داره.

زهرا سلطانپور
زهرا سلطانپور
@Zsoltanpour

شاید یک کار غیر حرفه ای باشه ولی می تونیم تو action فرم ارایه رو با روت پاس بدیم😅

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام