پارس جوم :: انجمن های تخصصی جوملا

نسخه‌ی کامل: آموزش ایجاد فیلد مخفی شونده وابسته به دراپ داون در RSFORM
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام به همه دوستان
در پاسخ یکی از دوستان به این سوال دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
که:

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

این آموزش برای انتخاب برند اتومبیل و زیر مجموعه های اون + اضافه شدن یه فیلد ارسال فایل هست/

----------------------------------------------------
و اما آموزش
----------------------------------------------------

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

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

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

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 این فرم رو ببینید و مشکلاتتون رو برطرف کنید.

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

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


نمونه انجام شده این آموزش با یه دونه دراپ داون و همچنین با چک باکس(طبق همونی که توی خود سایت rsjoomla هست) رو میتونید از پیوست دریافت کنید.
سلام من از مطالب سایتتون خیلی استفاده می کنم و واقعا به دردم می خوره .ممنون
ولی دراپ داون رو نمی تونم ایجاد کنم. کدی رو که دادید همین طور کپی میکنم توی کادر پایینی که مربوط صفحه خواص تب جاوا اسکریپ هستش ولی هیچی نمایش نمی ده.می شه لطفا کمکم کنید
سلام
از نمونه فرم پیوست شده استفاده کنین و ببینید مشکل کارتون از کجاست.

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

من نمی دون چطور بایداز نمونه ای که گذاشتید استفاده کنم
دانلود کردم ولی فایل رو چطور استفاده کنم
باید کامپوننت rs form روی جوملا شما نصب باشه از قسمت بکاپ و بازگردانی افزونه اقدام کنید.
سلام
خسته نباشید و ممنون بابت آموزش خوبتون
من یک فرم دارم که می خوام مثلا وقتی کاربر تعداد فرزندان رو 2نفر انتخاب میکنه
چند جدول همزمان باز بشه که بشه اطلاعات فرزندان رو وارد کرد به همین حالت مخفی شونده
میخوام تا 8 فرزند این فرم مخفی شونده باز بشه
مثال:

تعداد فرزندان: 2نفر
نام:
شماره کارت ملی:
نام:
شماره کارت ملی:

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

اگه ممکنه یک مثال عامیانه فارسی بزنید تا بهتر متوجه بشیم
من فایل رو هم ریستور کردم و توی نمونه عالیه اما نفهمیدمش
ممنون میشم یخ مثال دیگه فارسی و روان بزنید
صفحه‌ها: 1 2
لینک مرجع