PDA

View Full Version : ایجاد فرم register چند مرحله ای



mohammad kafiyan
یک شنبه 23 تیر 1392, 10:32 صبح
سلام به دوستان یک سوال داشتم
می خواستم ببینم چگونه می تونم در یک فرم register چند مرحله ای این تصویر را برای کاربران ایجاد کنم دوستان لطف کنند راهنمایی کنند آیا با div یا table وبه چه صورت
که زمانی مثلا همانطور که در تصویر مشخص کاربر در مرحله است و خانه ی مربوط به مرحله ی اول نمایش داده شده و اندازه ی width چقدر است و زمانی که به مرحله بعد می رویم خانه اولی از لحاظ width تغییر کنه و کوچک شود و خانه دومی مربوط به دومی از مرحله دوم بزرگ شود
مدیر اینها چگونه است چگونه می توانیم بگوییم که انداز هی آنها تغییر پیدا کنه

afshin9032
یک شنبه 23 تیر 1392, 15:44 عصر
به طور مختصر :
از چند تا div با width متغیر و height ثابت استفاده کن و برای هر کدام از div ها محتویات مورد نظرت رو قرار بده .
برای هر div یک min-width در نظر بگیر تا عنوان مراحل نمایش داده بشه ، بعد میتونی با استفاده از رویداد های ماوس و با استفاده از متد animate در jquery ، طول div مورد نظرت رو اضافه کنی .

mohammad kafiyan
یک شنبه 23 تیر 1392, 17:42 عصر
با تشکر از شما


از چند تا div با width متغیر و height ثابت استفاده کن و برای هر کدام از div ها محتویات مورد نظرت رو قرار بده .
برای هر div یک min-width در نظر بگیر

سوال اولم این است که اگر width را متغیر تعریف کنم و این کار باعث نمی شه که با افزایش هر div در هر مرحله div های دیگه در سطرمورد نظر خارج شده و به سطر بعدی بروند یا صفحه اسکرول افقی بخوره
سوال دوم این است که آیا می توان به کمک css رنگ پس زمینه ای div هایی که تصویر دارند را عوض کرد یا مجبور هستم که برای تعویض آن هم از تصویر استفاده کنم و دیگر این که مانند بالا امکان فعال و غیر فعال کردن را داشته باشه که البته از opacity: 0.3; نمی شناسه در asp.net علت چیست

azamicu
دوشنبه 24 تیر 1392, 01:15 صبح
روش خیلی ساده
یه div ایجاد کن به عنوان والد با position:relativeو چند تا div توی اون با pos:absulote با عرض و طول والد و هرکدام از اینها میشن یک صفحه شما و display همه ائنا رئ غیر از والد و اولی none کن و مرحله به مرحله بعدی رو showکن و قبلی رو hide

mohammad kafiyan
دوشنبه 24 تیر 1392, 01:26 صبح
دوست عزیز pos:absulote چرا دیگه آن موقع که این div ها خودمختار شده و اگر هر کدام از div ها width تغییر کنه و افزایش پیدا کنه اصلا چیدمان را به هم می زنه
می شه نمونه کد یا توضیحات بیشتری بدهید:متعجب::متفکر:

mohammad kafiyan
سه شنبه 25 تیر 1392, 01:08 صبح
از دوستان کسی هست که در این زمینه راهنمایی بکنه

afshin9032
سه شنبه 25 تیر 1392, 18:40 عصر
دوست عزیز pos:absulote چرا دیگه آن موقع که این div ها خودمختار شده و اگر هر کدام از div ها width تغییر کنه و افزایش پیدا کنه اصلا چیدمان را به هم می زنه
می شه نمونه کد یا توضیحات بیشتری بدهید:متعجب::متفکر:

نسبت به div والد خودمختار میشه . البته باید به div والد هم مقدار position اختصاص بدهی .

IamOverlord
سه شنبه 25 تیر 1392, 19:15 عصر
سلام!

ببین اینو می خوای...؟
از jQuery استفاده کردم...


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- I am Overlord! -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<style>
@font-face {
font-family: BBCNassim;
src:
url(BBCNassim.ttf),
url(BBCNassim.otf);
}

/*
6*50+500=800
50
500+50=550
*/

#container {
direction:rtl;
width:800px;
height:200px;
background-color:#333;
overflow:hidden;
font-family:BBCNassim;
border-width:5px;
border-style:solid;
border-color:#444;
}

.inner-div {
height:200px;
float:right;
position:relative;
}

.inner-div-a span {
width:50px;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
font-size:18px;
white-space: nowrap;
position:absolute;
bottom:60px;
color:#FFF;

}

.inner-div-b div {
width:500px;
}

.inner-div-a {
width:50px;
height:200px;
float:right;
background-color:#3B8;
}

.inner-div-a:hover {
width:50px;
height:200px;
float:right;
background-color:#3C9;
cursor:pointer;
}

.inner-div-b {
width:0px;
height:200px;
float:right;
background-color:#444;
overflow:hidden;
}

.inner-div-expanded {

}
</style>
<script>
$(function(){
$('.inner-div-b:first').css('width','500px').parent().addClass(' inner-div-expanded');
$('.inner-div-a').click(function(){
if($(this).parent().children('.inner-div-b').css('width')!='500px'){
if($(this).parent().parent().children('.inner-div-expanded').children('.inner-div-b').css('width')=='500px'){
$(this).parent().parent().children('.inner-div-expanded').children('.inner-div-b').animate({
'width':'0'
}).parent().removeClass('inner-div-expanded');
$(this).parent().addClass('inner-div-expanded').children('.inner-div-b').animate({
'width':'500px'
}).parent().addClass('inner-div-expanded');
}
}
});
});
</script>
</head>

<body>
<div id="container">
<div class="inner-div">
<div class="inner-div-a">
<span>فرم ثبت نام</span>
</div>
<div class="inner-div-b">
<div>
<input type="text" />
<input type="text" /> <br />
<input type="text" />
<input type="text" />
<input type="button" value="تایید" />
</div>
</div>
</div>

<div class="inner-div">
<div class="inner-div-a">
<span>شهر و شغل</span>
</div>
<div class="inner-div-b">
<div>
<input type="text" />
<input type="text" />
<input type="button" value="تایید" />
</div>
</div>
</div>

<div class="inner-div">
<div class="inner-div-a">
<span>پیش نمایش</span>
</div>
<div class="inner-div-b">
<div>
<input type="text" />
<input type="text" /> <br />
<input type="text" />
<input type="text" /> <br />
<input type="text" />
<input type="text" />
<input type="button" value="تایید" />
</div>
</div>
</div>

<div class="inner-div">
<div class="inner-div-a">
<span>ارسال مدارک</span>
</div>
<div class="inner-div-b">
<div>

</div>
</div>
</div>

<div class="inner-div">
<div class="inner-div-a">
<span>پرداخت وجه</span>
</div>
<div class="inner-div-b">
<div>

</div>
</div>
</div>
<div class="inner-div">
<div class="inner-div-a">
<span>دریافت کد رهگیری</span>
</div>
<div class="inner-div-b">
<div>

</div>
</div>
</div>

</div>
</body>
</html>

107343

mohammad kafiyan
چهارشنبه 26 تیر 1392, 00:56 صبح
با تشکر از شما به من خیلی کمک می کنه البته باید روی کد های شما کار کنم ولی یک نکته مهم وجود داره و آن هستش که اگر بخواهم از فایل آپلود استفاده کنم که نیاز داره حتما صفحه refresh بشه اینجا می تونم از jquery.ajax,webservice استفاده کنم که صفحه مورد نظر رفرش نشه و عکس هم به صورت موقت در پوشه ی temp ذخیره بشه
آیا این امکان پذیر هستش یا نه
و نکته دیگه اینکه دیدم در فایل zip از فونت BBCNassim استفاده کرد بودید علتی داشت سوال آیا امکان پذیر هستش که روی سرور up کنی و کاربر بتونه با آون فونت اطلاعات را ببینه
آخه در سیستم کلاینت اگر فونت مورد نظر نصب نباشه که مرورگر نمی تواند آن فونت را ساپورت کنه

IamOverlord
چهارشنبه 26 تیر 1392, 02:15 صبح
سلام دوست عزیز!
برای Upload می تونید از jQuery/AJAX بهره ببرید...
در مورد فونت هم نگران نباشید... CSS واسه همین جور مواقع هستش دیگه! اگه اینا رو روی Server اتون Upload کنید کاربرا می تونن سایتتون رو با فونتی که می خواید ببینند به شرط این که از دستور CSS مناسب استفاده کنید، که ما استفاده کردیم... در واقع تو اون قسمت URL شما می تونید مستقیما یه آدرس اینترنتی بدید... ولی حالا ما یه آدرس نسبی دادیم که فقط مکان فایل فونت رو نسبت به index.html مشخص کرده... در مورد BBCNassim هم، خوب من این فونت رو دوست دارم! چون ظاهر عجیب و غریبی نداره ولی در عین حال زیبا هم هست برای متن های معمولی...
موفق باشید!

mohammad kafiyan
چهارشنبه 26 تیر 1392, 10:00 صبح
خیلی ممنون از لطفا شما ولی مشکلی که هست با مرورگر ie.8 ساپورت نمی کنه و به دلیل اینکه اکثر کابران ناشی هنوز از همان ie استفاده می کنند ممکنه چیدمان نوشته ها و المنت ها را به هم بریزه برای این راهی است که در ie تنظیماتی داشته باشیم


در واقع تو اون قسمت URL شما می تونید مستقیما یه آدرس اینترنتی بدید... ولی حالا ما یه آدرس نسبی دادیم که فقط مکان فایل فونت رو نسبت به index.html مشخص کرده

می شه یک نمونه بگذارید به ببینم چگونه آدرس دهی واقعی(فیزیکی) انجام می شه
و دیگه اینکه با من با asp.net کار می کنم در کنار پروژه اصلی پوشه ی image قرار داره نحوه ی آدرس دهی این تصاویر در css چگونه باید باشد که به مشکل بر نخورد بر روی host????

IamOverlord
چهارشنبه 26 تیر 1392, 15:51 عصر
سلام دوست عزیز!

چون الان IE8 ندارم نمی تونم نظر دقیقی بدم... در مورد font که مشکلی نیست؟ اگه هست اینو امتحان کنید:


@font-face {
font-family: BBCNassim;
src:
url(../font/BBCNassim.ttf) format('truetype'),
url(../font/BBCNassim.otf) format('opentype');
font-weight: normal;
font-style: normal;
}

در مورد چرخش متن واسه IE8 هم این جا رو ببینید: http://stackoverflow.com/questions/4617220/css-rotate-property-in-ie
اگه مشکل خاصی همچنان تو چیدمان عناصر در IE8 دارید بگید شاید بتونم کمکتون کنم...

در مورد آدرس دهی هم اینو بگم که آدرس دهی ای که ما داشتیم Relative بود یعنی شما اون فایل هایی رو که بهتون دادم تو هر پوشه ای که بریزید، چه روی سرور Google بریزید و چه روی سرور Microsoft مرورگر کاربر خودش می فهمه چه طوری اون آدرس رو تبدیل به آدرس مستقیم کنه و اون فایل های فونت رو از سرور شما بگیره... الان اگه سایتتون روی localhost تون هست اصلا منطقی نیست که آدرس دهی مستقیم کنید چون فقط به درد خودتون می خوره... ولی آدرس دهی مستقیم بعضی وقتا کاربرد داره مثلا شما یه عکسی رو از یه سایت دیگه لینکش رو بذارید روی سایت خودتون...
اینو ببینید: http://stackoverflow.com/questions/940451/using-relative-url-in-css-file-what-location-is-it-relative-to

در مورد آدرس دهی هم اگه فایل ها روی سایت خودتون هست relative بدید آدرس ها رو، شبیه همونی که من دادم... البته یه قواعدی داره که باید بخونید... ضمنا اینا هم سمت کاربر هست و زیاد به سمت سرور یعنی به ASP.net و PHP و اینا ربطی نداره...

mohammad kafiyan
یک شنبه 30 تیر 1392, 11:58 صبح
با سلام به دوستان یک سوال داشتم
در صفحه ثبت نام می خواهم تعدادی div در وسط داشته باشیم که عناصی موجود برای ثبت نام در آنها وجود داره که البته ثبت نام در بالای تایپک گفتم به صورت چند مرحله ای است
حالا به صورت پیش فرض div1 رانمایش دادم و مابقی div را نمایشاون را none کردم و زمانی که کاربر بر روی دگمه next کلیک می کنه که به مرحله بعدی بره می خوام div1 از سمت راست صفحه ی من خارج بشه با انیمشن و div2 از سمت راست وارد بشه به چه صورت؟؟؟؟

mohammad kafiyan
دوشنبه 31 تیر 1392, 01:18 صبح
از دوستان کسی نبود راهنمایی بکنه؟؟؟؟؟

sirvan-me
سه شنبه 08 مرداد 1392, 19:36 عصر
از MultiVew ها استفاده کن این همه دردسر هم نداره !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

azamicu
سه شنبه 08 مرداد 1392, 22:16 عصر
وای این خیلی راحت تر از اونه که دربارش بحث میکنید
یه دایو والد و چند دایو فرزند که در هر زمان فقط یکیش.ن دیده میشه و display بقیه none هستش

H:Shojaei
سه شنبه 08 مرداد 1392, 23:24 عصر
وای این خیلی راحت تر از اونه که دربارش بحث میکنید
یه دایو والد و چند دایو فرزند که در هر زمان فقط یکیش.ن دیده میشه و display بقیه none هستش
شما خودتون اين رو كه گفتيد انجام دادين آخه چطوري ميشه چيزي كه نشون داده نميشه رو روش كليك كرد تا نشون داده بشه؟

mohammad kafiyan
سه شنبه 08 مرداد 1392, 23:33 عصر
شما خودتون اين رو كه گفتيد انجام دادين آخه چطوري ميشه چيزي كه نشون داده نميشه رو روش كليك كرد تا نشون داده بشه؟

دوست عزیز برای این کار باید از tabel یا div استفاده کنی و بهتره از div استفاده کنی و برای این کار من توانستم فقط از سمت کلاینت با jquery مدیریت کنم ولی از سمت هنوز خیر با استفاده از توابع موجود در jqueryمانند hide,show,addclass,removeclass

azamicu
چهارشنبه 09 مرداد 1392, 20:30 عصر
شما خودتون اين رو كه گفتيد انجام دادين آخه چطوري ميشه چيزي كه نشون داده نميشه رو روش كليك كرد تا نشون داده بشه؟
خوب شما یه منو دارید اون بالا دیگه و همچنین میتونید روی دکمه بعدی اینو تعریف کنید

ahmaduse
شنبه 25 مهر 1394, 13:26 عصر
از MultiVew ها استفاده کن این همه دردسر هم نداره !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

خب این یعنی چی ایکاش بیشتر توضیح بدی.

پیام حیاتی
شنبه 25 مهر 1394, 21:19 عصر
خب این یعنی چی ایکاش بیشتر توضیح بدی.
تاریخ تایپیک!