Anisi

ذخیره اطلاعاتی که به صورت پویا درج شده

16 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام دوستان

اولا عذرخواهی به خاطر این عنوان که ممکنه زیاد حق سوال رو عدا نکنه!

و حالا سوال:

من الان دو تا select دارم:

post-849-0-48670300-1362579413_thumb.jpg

که می خوام از طریق یک فرم:

post-849-0-25274400-1362579514_thumb.jpg

که فیلدهاش هم بر اساس نوع پرداخت متغیر هست اطلاعات رو بهش اضافه کنم.

حالا دو تا مشکل دارم:

- چطوری با کلیک روی افزودن اطلاعات رو به select اضافه کنم که بعدا هم خواستم پردازشش کنم، فیلدهای وارد نشده رو بشه تشخیص داد؛ هر کدوم رو که خواست ویرایش کنه؟ (یعنی: مثلا بانک رو وارد نکرد، توی ویرایشش بشه فهمید بانک رو وارد نکرده و مثلا مبلغ پرداختی توی فیلد بانک وارد نشه.)

- چطور این اطلاعات رو در دیتابیس ذخیره کنم؟ (که اینجا هم مشکل تشخیص فیلدهای وارد نشده هم مطرحه چون هر فیلدی که وارد شده باید در ستون خودش در جدول ذخیره بشه دیگه!)

البته همه با جی کوئری.

سپاس!

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

در مورداول باید validate کنید.


http://docs.jquery.com/Plugins/Validation
http://www.webreference.com/programming/javascript/jquery/form_validation/index.html

برای مورد دوم هم میتونی از get یا post جی کوئری استفاده کنید:


http://api.jquery.com/jQuery.post/
http://api.jquery.com/jQuery.get/

1

به اشتراک گذاری این پست


لینک به پست

در مورداول باید validate کنید.


http://docs.jquery.com/Plugins/Validation
http://www.webreference.com/programming/javascript/jquery/form_validation/index.html

برای مورد دوم هم میتونی از get یا post جی کوئری استفاده کنید:


http://api.jquery.com/jQuery.post/
http://api.jquery.com/jQuery.get/

ممنون

ولی فکر کنم منظورم رو بد رسوندم!

ولی نمی دونم دیگه چطوری بگم!

با یه مثال دیگه بگم. توی دریم ویور اگر دیده باشید توی اضافه کردن آیتم به select یه قسمت داره به اسم list values، روی علامت + کلیک کنید درجا می تونید یه عنصر توی لیست بذارید. حالا منم می خوام همین کارو بکنم؛ نه ولیدیت کردن فرم!

در مورد دومی می خوام وقتی کاربر همه لیست رو به طور کامل وارد کرد، همه فرم با هم ذخیره بشه.

همین.

0

به اشتراک گذاری این پست


لینک به پست

در مورد اول می تونید از تابع append استفاده کنید. مقادیر html مربوط به المان جدید رو در یک متغیر ریخته و بعد append کنید.

در مورد دوم هم بایدشرطی رو قرار بدید که خالی نبودن المان ها بررسی بشه. اگر input هستن باید val رو بررسی کنید و بعد بررسی کنید اگر focus از المان آخر رفت فرم ذخیره بشه.

1

به اشتراک گذاری این پست


لینک به پست

ممن

در مورد اول می تونید از تابع append استفاده کنید. مقادیر html مربوط به المان جدید رو در یک متغیر ریخته و بعد append کنید.

در مورد دوم هم بایدشرطی رو قرار بدید که خالی نبودن المان ها بررسی بشه. اگر input هستن باید val رو بررسی کنید و بعد بررسی کنید اگر focus از المان آخر رفت فرم ذخیره بشه.

ممنون

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

ممکنه یکی رو وارد کنه و دومی رو نه.

تصمیم گرفتم هرکدوم رو که وارد کرد، توی یه آرایه دو بعدی بریزم. که بعد اول المان هایی که تا حالا وارد شده رو مشخص کنه و بعد دوم، کلیدی باشه با نام اینپوت. که اگر یکی رو خالی گذاشت چک کنم مثلا کلید name آرایه از بعد مثلا 3 خالی هست یا نه. اگر بود یعنی اسم پر نشده. بعدا هم خواستم توی دیتابیس ذخیره کنم راحت میشه. این راه حل خوبه؟!!

ولی مشکل اینه که با آرایه ها توی جاوااسکریپت و جی کوئری کگار نکردم.

0

به اشتراک گذاری این پست


لینک به پست

خوب چرا آرایه دو بعدی؟

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

اصلا نیاز به ارایه ندارد.

0

به اشتراک گذاری این پست


لینک به پست

خوب چرا آرایه دو بعدی؟

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

اصلا نیاز به ارایه ندارد.

خوب بعدش که می خوام توی دیتابیس ذخیره کنم، دوباره باید از المانی که این موارد رو توش وارد کردم بگیرم دیگه، مثلا یک select که 5 تا مورد توش ذخیره شده. حالا اگر مثلا نام رو وارد نکرده من چطور تشخیص بدم نام وارد نشده و توی کوئری خالی بذارمش؟

0

به اشتراک گذاری این پست


لینک به پست

ببینید باید برای اونهایی که ضروری هستن به اینصورت انجام بدید:


var name = $("input").val();
if(name.length ){.....}

یا

if( $("input").val() ) {.....}

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

هم میتونید ارسال پست رو بصورت تابع کنید.

بعد اگر یکی از مقادیر لازم خالی بود تابع return false بشه.

0

به اشتراک گذاری این پست


لینک به پست

ببینید باید برای اونهایی که ضروری هستن به اینصورت انجام بدید:


var name = $("input").val();
if(name.length ){.....}

یا

if( $("input").val() ) {.....}

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

هم میتونید ارسال پست رو بصورت تابع کنید.

بعد اگر یکی از مقادیر لازم خالی بود تابع return false بشه.

آخه اینا برای validate فرم هست! من مشکلم نگه داری اینها و بعدا ذخیره کردن در دیتابیس هست. لازم هست با یه مثال بگم.

0

به اشتراک گذاری این پست


لینک به پست

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

شما هم که قرار با جی کوئری ارسال کنید پس ریلود نداریم.

حالا شما کافیه بعد ولیدیت اطلاعات رو ارسال کنید.

حالا اگر مشکل چیز دیگه ایی هست بگید.

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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

شما هم که قرار با جی کوئری ارسال کنید پس ریلود نداریم.

حالا شما کافیه بعد ولیدیت اطلاعات رو ارسال کنید.

حالا اگر مشکل چیز دیگه ایی هست بگید.

آخه اطلاعات قرار نیست در فرم باقی بمونه.

قراره کاربر تعداد زیادی اطلاعات مشابه رو با همین فرم وارد کنه و با کلیک روی دکمه افزودن، این اطلاعات به یک select اضافه بشه و بعدا بشه این اطلاعات اضافه شده به select رو دوباره حذف، ویرایش و یا در دیتابیس ذخیره کرذ. البته هر کدومش توی یک رکورد جداگانه.

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

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

بالاتر گفتم میشه ارسال رو توی یک تابع انجا بدید با جی کوئری که اگر همه فیلدها پر نبود return false میکنه و اطلاعات ارسال نمیشه و ولیدیت انجام میشه

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

نمونه زیاد هست. همون ولیدیت های معمول هم همین کار رو انجام میدن.

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

خوب فکر کنم باید مثال تصویری بزنم!

post-849-0-10754600-1362902742_thumb.jpg

امیدوارم گویا باشه.

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

ببینید اصل کار شما اشتباه هست!

شما بهتره هر فرمی که پر میشه رو بفرستید و ذخیره کنید. این نوع جمع آوری داده و اینکه داده رو کاربر ببینه اشتباه هست.

شما اگر هر فرم رو بعد پر شدن ارسال کنید مرحله دوم حذف میشه و مجموعه عملیاتی که بالاتر گفتم رو میتونید براحتی اجرایی کنید.

دلیلی برای ایندو مرحله دارید؟

0

به اشتراک گذاری این پست


لینک به پست

ببینید اصل کار شما اشتباه هست!

شما بهتره هر فرمی که پر میشه رو بفرستید و ذخیره کنید. این نوع جمع آوری داده و اینکه داده رو کاربر ببینه اشتباه هست.

شما اگر هر فرم رو بعد پر شدن ارسال کنید مرحله دوم حذف میشه و مجموعه عملیاتی که بالاتر گفتم رو میتونید براحتی اجرایی کنید.

دلیلی برای ایندو مرحله دارید؟

این فکر رو هم داشتم. ولی یک موردی هست. اگر اینجا اینطوری پیاده نشه، برای اینکه بعدا هم بخواد ویرایش کنه، همین کار باید براش انجام بشه. نه؟!

و مورد اینکه چون برای هر موردی که وارد میشه، حتما باید پرداخت و دریافت هم وارد بشه، اگر نشه در واقع اون مورد ناقص هست و باید پاک بشه ولی اگر این کارو نکنم پاک نمیشه دیگه!

یعنی منظور شما اینه که توی مرحله اول اطلاعات کلی ثبت و ذخیره بشه و بعد اطلاعات پرداخت و دریافت هم همین اتفاق براش بیوفته؟ نمونه ای چیزی هست من ببینم؟!

0

به اشتراک گذاری این پست


لینک به پست
این فکر رو هم داشتم. ولی یک موردی هست. اگر اینجا اینطوری پیاده نشه، برای اینکه بعدا هم بخواد ویرایش کنه، همین کار باید براش انجام بشه. نه؟!

یعنی خود کاربر بخواد ویرایش کنه؟ اصل این هست که تا قبل ارسال خودش از صحت اطلاعات مطمئن باشه. وقتی ارسال شد که دیگه نباید دسترسی داشته باشه.

و مورد اینکه چون برای هر موردی که وارد میشه، حتما باید پرداخت و دریافت هم وارد بشه، اگر نشه در واقع اون مورد ناقص هست و باید پاک بشه ولی اگر این کارو نکنم پاک نمیشه دیگه!

پرداخت اگر با هم هست میتونید موارد رو در سشن یا کوکی هم نگهداری و در نهایت ارسال کنید.

یعنی منظور شما اینه که توی مرحله اول اطلاعات کلی ثبت و ذخیره بشه و بعد اطلاعات پرداخت و دریافت هم همین اتفاق براش بیوفته؟ نمونه ای چیزی هست من ببینم؟!

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

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری