sajjad
4 سال پیش توسط sajjad مطرح شد
10 پاسخ

create attribute در جاوا اسکریپت و Reactjs

سلام دوستان
وقتی از createAttribute برای اضافه کردن onChange استفاده می کنم تابعی که بهش پاس میدم رو تو صفحه این طوری میزنه

<input type="text" name="answer[]" class="form-control" value="fghfghfgh" onchange="function () { [native code] }">

در صورتی که همین رویداد رو در فضای JSX بهش دادم درست کار می کنه و اصلا تو Inspect نشون هم نمیده.

مجبورم از متد اول استفاده کنم چون المنت بالا رو با یه دکمه اضافه می کنم.


ثبت پرسش جدید
saman
@saman1111 4 سال پیش مطرح شد
0

منظورتونو نمیفهمم
کد JSXتون رو بزارید ببینم چطوریه


sajjad
تخصص : برنامه نویس
@sajjad123 4 سال پیش آپدیت شد
0

اینطوری درست جواب میده

<button type="button" className="btn btn-success fas fa-plus-square" onClick={this.newAnswer} />

اما اینطوری کار نمی کنه

 let att5_input2=document.createAttribute("onChange");
 att5_input2.value=this.handleChange;
input2.setAttributeNode(att5_input2);

@saman1111


saman
@saman1111 4 سال پیش مطرح شد
1

@sajjad.haghani
خب توی react شما این کارو نباید انجام بدید
دقیقا میخواین چیکار کنین تا راهنماییتون کنم ؟


sajjad
تخصص : برنامه نویس
@sajjad123 4 سال پیش مطرح شد
0

من یه صفحه دارم که کاربر میاد سوالات چهار گزینه ای وارد و ثبت می کنه
حالا می خوام اگر پس از اینکه گزینه ها رو اضافه کرد تغییراتی روی Textbox ها ایجاد کرد این تغییرات در مقدار چک باکس هم تغییر کنه چون تو بک اند داره مقدار چک باکس رو با مقدار تکست باکس مقایسه می کنه. من سعی کردم رویداد onChange هم ست کنم که نتونستم.

این لینک کدی که نوشتم
@saman1111


saman
@saman1111 4 سال پیش مطرح شد
0

خب وقتی که تکست باکس مقدارش تغییر کرد در واقع استیت هم تغییر میکنه دیگه
شما مقدارشو توی استیت دارین. از اون میتونین هرجا که میخواین استفاده میکنین


sajjad
تخصص : برنامه نویس
@sajjad123 4 سال پیش مطرح شد
0

فکر می کنم اگه واسه یه گزینه بود حرف شما درست میشد .
اما چهار گزینست شایدهم کمتر یا بیشتر بشه
اونموقع یکم سخت میشه
@saman1111


saman
@saman1111 4 سال پیش مطرح شد
1

@sajjad.haghani
شما باید هر کدوم از اون گزینه ها رو یه کامپوننت در نظر بگیرین، و توی کامپوننت استیت رو قرار بدین.
اینطوری هر کامپوننتی استیت خودش رو داره.

البته من درست نفهمیدم دقیقا باید چه کاری انجام بده و مشکل برنامه کجاست


sajjad
تخصص : برنامه نویس
@sajjad123 4 سال پیش آپدیت شد
0

درسته ، الان اومدم گزینه رو در کامپوننت دومی گذاشتم و در کامپوننت اول کاربر هرچندبار دکمه add رو کلیک میکنه همون چندبار کامپوننت دومی اضافه میشه تو یه لیست آرایه که داخل استیت قرار داره.
و خیلی خوب کار می کنه.
حالا من در کامپوننت دومی یه دکمه دیلت گذاشتم که بزنیم باید گزینه رو پاک کنه که اینجا در واقع باید اون کامپوننت خاص از بین کامپوننت ها در لیست آرایه پاک بشه.
اگه ایده ای دارین خوشحال میشم.
@saman1111


saman
@saman1111 4 سال پیش مطرح شد
-1

@sajjad.haghani
وقتی دلیت کردن از اون آرایه باید پاک بشه.
یه تابع برای دکمه دلیت بنویسید که این کارو انجام بده


sajjad
تخصص : برنامه نویس
@sajjad123 4 سال پیش مطرح شد
0

می دونم باید تابع بنویسم
اینکه به چه شکل بنویسم سواله.


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

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