سلام
دوست عزیز
اینها رو هم تو آرشیوم داشتم ! 
روش محاسبه قیمت در فرم ساخته شده توسط بریزینگ فرم (BreezingForms)
براي مثال شما دو چك باكس داريد كه ميخواهيد براي هر كدام يك مبلغ تعريف كنيد:
1- دوره آموزش يك 2000 تومان
2- دوره آموزش دو 3000 تومان
قصد شما اين است كه وقتي كاربر هر دو دوره آموزشي را انتخاب ميكند مبالغ تمام دوره ها با هم جمع شود و در يك جعبه متني (Text Box) اين جمع مبلغ نمايش داده شود:
جمع دوره هاي انتخاب شده شما: 5000 تومان
===============================================
حال فيلدهاي مورد نظر و روش كدنويسي را شرح ميدهم:
از روش ايجاد سريع (QuickMode) يك فرم جديد را ايجاد كنيد
عنوان فرم را " فرم يك " و نام فرم را " ff " بگذاريد
:: يك چك باكس ايجاد كنيد و در سربرگ "مشخصات" عنوان آن را " دوره آموزش يك " و نام آن را " d11 " بگذاريد و مقدار آن را " 10 "
سپس در سربرگ " پيشرفته " بخش " اکشن اسکریپت " گزينه " سفارشي " را انتخاب كنيد
عملكردها را بر روي گزينه " كليك " قرار بديد
در كادر پايين كد زير را قرار بديد:
کد:
کد:
function ff_d11_action(element,action) { ff_amountowing_action(element,action); }
===============================================
:: حالا يك چك باكس ديگر با مشخصات زير ايجاد ميكنيم :
يك چك باكس ايجاد كنيد و در سربرگ "مشخصات" عنوان آن را " دوره آموزش دو " و نام آن را " d12 " بگذاريد و مقدار آن را " 20 "
سپس در سربرگ " پيشرفته " بخش " اکشن اسکریپت " گزينه " سفارشي " را انتخاب كنيد
عملكردها را بر روي گزينه " كليك " قرار بديد
در كادر پايين كد زير را قرار بديد:
کد:
کد:
function ff_d12_action(element,action) { ff_amountowing_action(element,action); }
===============================================
حالا يك تكست باكس(Text Box) ايجاد ميكنيم تا وقتي كه كاربر روي چك باكس ها كليك كرد مجموع قيمت در آن نمايش داده شود:
يك تكت باكس (فيلد متني) ايجاد كنيد و در سربرگ "مشخصات" عنوان آن را " مجموع قيمت " و نام آن را " amountowing " بگذاريد و مقدار آن را هم "0" بگذاريد.سپس در سربرگ " پيشرفته " گزينه فقط خواندني را تيك بزنيد و سپس در بخش " اکشن اسکريپت " گزينه " سفارشي " را انتخاب كنيد
در كادر پايين كد زير را قرار بديد:
کد:
کد:
function ff_amountowing_action(element,action) { ff_getElementByName('amountowing').value = 0; if (ff_getElementByName('d11').checked) { ff_getElementByName('amountowing').value = Number(ff_getElementByName('amountowing').value) + Number(ff_getElementByName('d11').value); } if (ff_getElementByName('d12').checked) { ff_getElementByName('amountowing').value = Number(ff_getElementByName('amountowing').value) + Number(ff_getElementByName('d12').value); } }
ایجاد فرم برای محاسبه قیمت است قصد داریم یک حالت ترکیبی ایجاد کنیم.یعنی یک لیست باکس داشته باشیم که این لیست باکس شامل لیست محصولات ما با قیمت های متفاوت باشد و کاربر فقط امکان انتخاب یک مورد را داراست. و یک فیلد متنی داریم که کاربر میتواند مبلغی را به صورت دستی وارد کند.
بنابراین محاسبه و جمع قیمت بر اساس هر دو فیلد ( لیست باکس + فیلد متنی) خواهد بود.
مرحله اول
----------------------------------------------------------------------------
يك ليست باكس قرار بديد و نام اون رو bastelinux بزاريد
مقدار اون رو هم براي مثال مقدار زير قرار بديد:
کد:
1;بسته لينوکس 1 ;10000 0;بسته لينوکس 2 ;20000 0;بسته لينوکس 3 ;30000
در تنظيمات پيشرفته فيلد فوق و در بخش اكشن اسكريپت گزينه " سفارشي " را انتخاب كنيد و عملكردها را بر روي گزينه " كليك " قرار بديد و كد زير را در كادر پايين وارد كنيد:
کد:
کد:
function ff_bastelinux_action(element,action) { ff_amountowing_action(element,action); }
مرحله دوم
--------------------------------------
يك فيلد متني به نام freepayment بسازيد (براي ورود دستي رقم توسط كاربر)
در تنظيمات پيشرفته فيلد فوق و در بخش اكشن اسكريپت گزينه " سفارشي " را انتخاب كنيد و عملكردها را بر روي گزينه " تغيير " قرار بديد و كد زير را در كادر پايين وارد كنيد:
کد:
کد:
function ff_freepayment_action(element,action) { ff_amountowing_action(element,action); }
مرحله سوم
--------------------------------------
حالا يك تكست باكس(Text Box) ايجاد ميكنيم تا وقتي كه كاربر از ليست باكس ما گزينه اي انتخاب كرد و يا مقداري به صورت دستي وارد كرد مجموع قيمت در آن نمايش داده شود:
يك تكست باكس (فيلد متني) ايجاد كنيد و در سربرگ "مشخصات" عنوان آن را " مجموع قيمت " و نام آن را " amountowing " بگذاريد و مقدار آن را هم "0" بگذاريد.سپس در سربرگ " پيشرفته " گزينه فقط خواندني را تيك بزنيد و سپس در بخش " اکشن اسکريپت " گزينه " سفارشي " را انتخاب كنيد
در كادر پايين كد زير را قرار بديد:
کد:
کد:
function ff_amountowing_action(element,action) { ff_getElementByName('amountowing').value = 0; ff_getElementByName('amountowing').value = Number(ff_getElementByName('amountowing').value) + Number(ff_getElementByName('bastelinux').value) + Number(ff_getElementByName('freepayment').value); }
روش ايجاد فيلد شرطي در فرم - پنهان و نمایان شدن فیلدها بر اساس شرط در بریزینگ فرم
فيلد شرطي ايجاد كنيم كه با يك عمل مخفي و با عمل ديگر فيلد ما نمايان شود.
روش كار:
مرحله يكم
------------------------------------------------------------------------------------
يك Radio Group يا همان "دكمه راديويي چندتايي" انتخاب ميكنيم
عنوان آن را "وضعيت اشتغال" ميگذاريم
نام آن را "jobswitch" ميگذاريم
و مقدار آن را به صورت زير قرار ميدهيم:
کد:
کد:
1;انتخاب كنيد;none 0;شاغل;on 0;بيكار;off
ذخيره ميكنيم
مرحله دوم
------------------------------------------------------------------------------------
يك TextBox يا همان "فيلد متني" انتخاب ميكنيم
عنوان آن را " شغل " ميگزاريم
نام آن را "job" ميگذاريم
در سربرگ پيشرفته گزينه "غيرفعال كردن " را انتخاب ميكنيم (تيك ميزنيم)
ذخيره ميكنيم
مرحله سوم
------------------------------------------------------------------------------------
مرحله سوم مهمترين مرحله است كه بايد مشخص كنيد كه با انتخاب گزينه هاي موجود فيلد متني ما فعال يا غير فعال شود.
بر روي نام فرم خود كليك كنيد
در سربرگ پيشرفته گزينه اي وجود دارد به نام "قوانين مشاهده" كه داراي يك كادر بزرگ است
در داخل آن دستور زير را وارد كنيد:
کد:
کد:
turn on element job if jobswitch is on turn off element job if jobswitch is off turn off element job if jobswitch is none
پرسشي كه در آموزش قبلي ممكن است پي بيايد اين است كه اگر براي مثال چندين فيلد داشته باشيم كه بخواهيم همگي آنها شرطي باشند چكار كنيم؟!
مثال:
فرمي داريم كه دو Section يا بخش است.
Section اول شامل فيلدهايي است كه مربوط به وضعيت اشتغال است مانند نوع شغل،سابقه كاري،سابقه بيمه و...
Section دوم شامل فيلدهايي است كه مربوط به وضعيت تحصيل است مانند پايه تحصيلي،محل تحصيل،رشته تحصيلي و...
در آموزش قبلي مشاهده كرديد كه يك Radio Group يا "دكمه راديويي گروهي" ايجاد كرديم داراي سه گزينه بود:
کد:
کد:
1;انتخاب كنيد;none 0;شاغل;on 0;بيكار;off
با انتخاب گزينه "شاغل" تنها اتفاقي كه مي افتاد اين بود كه يك فيلد ظاهر ميشد كه كاربر امكان درج مثلا نام شغلش را داشت.
ولي اكنون ما ميخواهيد با انتخاب گزينه شاغل Section اول ما كه فيلدهاي زيادي را شامل است ظاهر شود و با انتخاب گزينه بيكار Section دوم كه آن هم داراي فيلدهاي زيادي است ظاهر شود.
براي اين منظور پس از ساختن Section هاي مورد نظر و فيلدهاي هر كدام به شكل زير عمل ميكنيد:
مرحله چهارم
------------------------------------------------------------------------------------
يك Radio Group يا همان "دكمه راديويي چندتايي" انتخاب ميكنيم
عنوان آن را "وضعيت اشتغال" ميگذاريم
نام آن را "jobswitch" ميگذاريم
و مقدار آن را به صورت زير قرار ميدهيم:
کد:
کد:
1;انتخاب كنيد;none 0;شاغل;on 0;دانشجو;off
ذخيره كنيد
مرحله پنجم
------------------------------------------------------------------------------------
Section اول را section1 نامگذاي كنيد و فيلدهاي دلخواه خود را داخل آن بسازيد(اطلاعات شغلي)
در سربرگ پيشرفته گزينه "غيرفعال كردن " را انتخاب ميكنيم (تيك ميزنيم)
Section دوم را section2 نامگذاي كنيد و فيلدهاي دلخواه خود را داخل آن بسازيد(اطلاعات دانشجويي)
در سربرگ پيشرفته گزينه "غيرفعال كردن " را انتخاب ميكنيم (تيك ميزنيم)
ذخيره كنيد
مرحله ششم
------------------------------------------------------------------------------------
بر روي نام فرم خود كليك كنيد
در سربرگ پيشرفته گزينه اي وجود دارد به نام "قوانين مشاهده" كه داراي يك كادر بزرگ است
در داخل آن دستور زير را وارد كنيد:
کد:
کد:
turn on section section1 if jobswitch is on turn on section section2 if jobswitch is off turn off section section1 if jobswitch is off turn off section section2 if jobswitch is off turn off section section1 if jobswitch is none turn off section section2 if jobswitch is none
علاقه مندی ها (Bookmarks)