پارس جوم ::  انجمن های تخصصی جوملا
ایجاد قابلیت در فرم ساز rsform - نسخه‌ی قابل چاپ

+- پارس جوم :: انجمن های تخصصی جوملا (https://forums.parsjoom.ir)
+-- انجمن: پشتیبانی (/forum-70.html)
+--- انجمن: مباحث و مشکلات عمومی (/forum-33.html)
+--- موضوع: ایجاد قابلیت در فرم ساز rsform (/thread-7021.html)

صفحه‌ها: 1 2


ایجاد قابلیت در فرم ساز rsform - mal2moh - ۹-۴-۱۳۹۱ ۱۱:۲۸ عصر

سلام
دمو رو ببینین
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

استان محل سکنت رو که انتخب میکنی پایینش هم شهرستان هاش رو نشون میده
چطور میشه این کار رو کرد ؟


RE: ایجاد قابلیت در فرم ساز rsform - mal2moh - ۱۰-۴-۱۳۹۱ ۱۰:۳۱ عصر

اساتید منتظر شما هستیم


RE: ایجاد قابلیت در فرم ساز rsform - hoomanb - ۱۰-۴-۱۳۹۱ ۱۰:۵۴ عصر

سلام
چیزی که شما می خوای اینجاست
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.



RE: ایجاد قابلیت در فرم ساز rsform - mal2moh - ۱۰-۴-۱۳۹۱ ۱۱:۱۸ عصر

اگه ممکنه یه آموزش بدین مرسی


RE: ایجاد قابلیت در فرم ساز rsform - امید - ۱۱-۴-۱۳۹۱ ۱۲:۰۶ صبح

شما باید ابتدا در سربرگ CSS and Javascript قسمت پایین که برای قرار گیری کدهای جاوا هست کدی مثل این کد رو قرار بدین
کد php:
<script type="text/javascript">

function 
dynamic1(parent,child){

    var 
parent_array = new Array();

    
parent_array[''] = ['Please select a manufacturer'];

    
parent_array['Audi'] = ['A3','A4','A5','A6','A8','Q5','Q7','S3','S4','S5','S6','S8','RS6'];

    
parent_array['Dacia'] = ['Sandero','Logan'];

    
parent_array['FIAT'] = ['Bravo','Punto','Grande Punto'];

    
parent_array['Peugeot'] = ['207','308','407','607'];

    
parent_array['SEAT'] = ['Ibiza','New Ibiza','Leon'];

    
parent_array['Skoda'] = ['Fabia','Octavia Tour','Octavia 2','Superb'];

    var 
thechild document.getElementById(child);

    
thechild.options.length 0;

    var 
parent_value parent.options[parent.selectedIndex].value;

    if (!
parent_array[parent_value]) parent_value '';

    
thechild.options.length parent_array[parent_value].length;

    for(var 
i=0;i<parent_array[parent_value].length;i++){

        
thechild.options[i].text parent_array[parent_value][i];

        
thechild.options[i].value parent_array[parent_value][i];} }

</script> 

این دو مورد زیر رو از کد بالا توضیح میدم
کد php:
    parent_array[''] = ['Please select a manufacturer'];

    
parent_array['Audi'] = ['A3','A4','A5','A6','A8','Q5','Q7','S3','S4','S5','S6','S8','RS6']; 

-------------------------
کد زیر
کد php:
parent_array[''] = ['Please select a manufacturer']; 
برای درج کلمه مورد نظر شما برای انتخاب کابر هست مثلا "لطفا یکی از گزینه ها را انتخاب کنید"

کد زیر
کد php:
parent_array['Audi'] = ['A3','A4','A5','A6','A8','Q5','Q7','S3','S4','S5','S6','S8','RS6']; 
برای درج گزینه های کشویی دوم هست.
مثلا شما میخواین با انتخاب نام اتومبیل "Audi" در دراپ داون اول گزینه های A3 و A4 و A5 و ... در دراپ داون دوم به کاربر نمایش داده بشه.
شما باید مطابق گزینه هاتون این کدها رو ویرایش و کم و زیاد کنید.

--------------------------
بعد دراپ داون اول(یاهمون لیست کشویی) رو با آیتم های مورد نیازتون به صورت زیر و با مثال کد بالا و نام دلخواهتون میسازید.
کد php:
|Please select a manufacturer
Audi
Dacia
FIAT
Peugeot
SEAT
Skoda 

توی همین لیست کشویی در قسمت خواص اضافه کد زیر رو وارد میکنید.
کد php:
onchange="dynamic1(this,'CarModel');" 

دقت کنید که CarModel توی کد بالا باید همون نام لیست کشویی دومتون باشه.
و لیست کشویی رو ذخیره کنید.
------------------------------------------------

حالا دراپ داون یا همون لیست کشویی دوم رو بانامی که در کد قبلی گفتم ایجاد کنید و فقط در قسمت آیتم ها گزینه زیر رو وارد کنید.
کد php:
|Please select a model 
و لیست رو ذخیره کنید.

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


RE: ایجاد قابلیت در فرم ساز rsform - rezaetemadi - ۷-۵-۱۳۹۱ ۰۴:۴۱ عصر

من نتوستم درستش كنم
نياز به راهنمائي بيشتر دارم


RE: ایجاد قابلیت در فرم ساز rsform - محمدرضا بهارلو - ۱۲-۵-۱۳۹۱ ۰۹:۱۶ عصر

آقا امید ممنون از آموزش
من این کار را انجام دادم
خیلی عالیست ممنون
_________________________
من حالا یه فرم درست کردم برای درج تبلیغات
چند نوع تبلیغ دارم
متنی
لینک دار
عکس دار
وقتی که دراپ دان اولی را روی عکس دار قرار میدم
در دراپ دان دومی این گزینه ها نمایان میشه
یک هفته رایگان ،یک ماهه هشت هزار تومن ، دوماهه پانزده هزار تومن
همانطور که خودتان میدونید ، یه فیلد هم باید نمایان بشه تا بشه عکس را اپلود کنن
میخواهم وقتی روی تبلیغ عکس دار کلیک میشه یه فیلد نمایان بشه برای اپلود عکس

چطوری هست
ممنون میشوم راهنمایی کنید
منتظرم


RE: ایجاد قابلیت در فرم ساز rsform - امید - ۱۷-۵-۱۳۹۱ ۰۷:۰۶ صبح

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

یاعلی


RE: ایجاد قابلیت در فرم ساز rsform - محمدرضا بهارلو - ۱۷-۵-۱۳۹۱ ۰۷:۳۸ صبح

ممنون میشوم چون خیلی نیاز هست


RE: ایجاد قابلیت در فرم ساز rsform - امید - ۱۸-۵-۱۳۹۱ ۱۱:۵۱ صبح

ببینید برای اینکه شما مثلا با انتخاب گزینه عکس در دراپ داون اول یه فیلد دریافت فایل تصویر هم به اون دوتا دراپ داون اضافه بشه باید این کارهای زیر رو انجام بدین.

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

1- کار اول

اول کد زیر رو با کد قبلیتون که در پست پنجم همین تاپیک گفتم در سربرگ CSS and Javascript قسمت پایین که برای قرار گیری کدهای جاوا هست، جایگزین کنید.

کد php:
<script type="text/javascript">
function 
dynamic1(parent,child)
{
    var 
parent_array = new Array();
    
// This is the default value
    
parent_array[''] = ['Please select a manufacturer'];
    
// All other elements
    // parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
    
parent_array['Audi'] = ['A3','A4','A5','A6','A8','Q5','Q7','S3','S4','S5','S6','S8','RS6'];
    
parent_array['Dacia'] = ['Sandero','Logan'];
    
parent_array['FIAT'] = ['Bravo','Punto','Grande Punto'];
    
parent_array['Peugeot'] = ['207','308','407','607'];
    
parent_array['SEAT'] = ['Ibiza','New Ibiza','Leon'];
    
parent_array['Skoda'] = ['Fabia','Octavia Tour','Octavia 2','Superb'];
    
    
// Get the child
    
var thechild document.getElementById(child);
    
    
// Remove all other options from the select element
    
thechild.options.length 0;
    
    
// What value are we looking for ?
    
var parent_value parent.options[parent.selectedIndex].value;
    
    
// No value found, use the default value
    
if (!parent_array[parent_value]) parent_value '';
    
    
// Set the correct length
    
thechild.options.length parent_array[parent_value].length;
    
    
// Add the options
    
for(var i=0;i<parent_array[parent_value].length;i++)
    {
        
thechild.options[i].text parent_array[parent_value][i];
        
thechild.options[i].value parent_array[parent_value][i];
    }
}

function 
displayField2()
{
    if(
document.getElementById('CarManufacturer').value == "FIAT")
    {
        
document.getElementById('helement2').style.display="";
    }
    else {
        
document.getElementById('helement2').style.display="none";
        
document.getElementById('FindOther2').value="";
        
document.getElementById('component113').setAttribute("class""formNoError");
        }
}

window.addEvent('domready', function() {
displayField1();
displayField2();
});

</script> 
-----------------------------------------------
در توضیح کد بالا بگم که خط زیر

کد php:
    if(document.getElementById('CarManufacturer').value == "FIAT"

میگه که مثلا با انتخاب نام اتومبیل FIAT در همون دراپ داون اول که به نام CarManufacturer بود، فیلد دریافت فایل نمایش داده بشه.

و باز توی همون کد اصلی سه چهارتا خط بعد همین خط بالا که توضیح دادم کلمه FindOther2 همون نام فیلد دریافت فایل تصویر خواهد بود.

2- کار دوم

یه فیلد دریافت تصویر با نام FindOther2 بسازید و تنظیمات دلخواهتون رو انجام بدین و ذخیرش کنید.

3- کار سوم

وارد ویرایش دراپ داون اولی بشین و در قسمت "خواص اضافه" کد قبلی رو با این کد جایگزین و ذخیره کنید:

کد php:
onchange="dynamic1(this,'CarModel'); displayField2();" 

4- کار چهارم

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

کد php:
<div>
    {
CarManufacturer:caption} (*)<br/>
    {
CarManufacturer:body}<br/>
    {
CarManufacturer:validation}
    {
CarManufacturer:description}<br/>
    {
CarModel:caption} (*)<br/>
    {
CarModel:body}<br/>
    {
CarModel:validation}
    {
CarModel:description}<br/>
    {
Submit:caption}<br/>
    {
Submit:body}<br/>
    {
Submit:validation}
    {
Submit:description}<br/>
</
div

حالا کد بالا رو با کد زیر جایگزین کنید:
کد php:
<div>
    {
CarManufacturer:caption} (*)<br/>
    {
CarManufacturer:body}<br/>
    {
CarManufacturer:validation}
    {
CarManufacturer:description}<br/>
    {
CarModel:caption} (*)<br/>
    {
CarModel:body}<br/>

<
div class="componentheading">توضیحات شما</div>
{
error}
<
table border="0">
    <
tr class="rsform-block rsform-block-findother2" id="helement2">
        <
td>{FindOther2:caption}</td>
        <
td>{FindOther2:body}<div class="formClr"></div>{FindOther2:validation}</td>
        <
td>{FindOther2:description}</td>
    </
tr>
</
table>

    {
CarModel:validation}
    {
CarModel:description}<br/>
    {
Submit:caption}<br/>
    {
Submit:body}<br/>
    {
Submit:validation}
    {
Submit:description}<br/>
</
div

توی کد بالا اونجایی که نوشته "توضیحات شما" میتونید متن دلخواهتون رو برای اون فیلد دریافت فایل بنویسید مثلا: "تصویر خود را از طریق فیلد زیر برای ما ارسال کنید"

5- کار پنجم

فرم رو حتما ذخیره کنید!!!

حالا بعد از انتخاب نام FIAT به فیلد برای دریافت فایل ظاهر خواهد شد!

دقت کنید که ...

شما به جای اضافه کردن فیلد دریافت فایل میتونین هر فیلد دیگه ای مثل یه تکست باکس،نوشته، تاریخ یا ... رو اضافه کنید؛ فقط دقت کنید که اسمش باید همونی باشه که توی کار دوم گفتم.

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

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