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

رويداد انتخاب در ليست باكس

sama15661

کاربر تازه وارد
تاریخ عضویت
9 دسامبر 2006
نوشته‌ها
23
لایک‌ها
0
با سلام خدمت دوستان
من در يكي از فرم ها از ليست باكس استفاده ميكنم ، مي خواهم وقتي يكي از ايتم ها مثلا در ليست باكس اول انتخاب مي شود با دوبار كليك برروي آن ليست باكس دوم پرشود .
من نمي دانم چه رويدادي از رويدادهاي ليست باكس را انتخاب كنم ؟
 

tabeez

Registered User
تاریخ عضویت
7 دسامبر 2006
نوشته‌ها
260
لایک‌ها
0
برا اینکار تو صفحه .aspx و تو رویداد onchange لیست باکست این کد رو بزار


function ostan_onchange() {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.Form1;
}
else {
theform = document.forms["Form1"];
}
theform.submit();
}

که البته میتونی نام فانکشن رو هر چی خواستی بزاری

بعد تو صفحه .aspx.VB صفحت در رویه ServerChange لیست باکست هر کدی که میخوای بزاری.مثلا با توجه به تغییر لیست باکس دیگه ای رو مقدار بدی.اینطوری نیازی به دابل کلیک نیست.با تغییر مقدار لیست باکس فرم submit میشه و ...

البته اگه لیست باکس از نوع html باشه و اون رو Run As server کنی خیلی بهتره برا این کار

شبیه کد زیر ...

<SELECT language="javascript" id="ostan" onchange="return ostan_onchange()" name="Select1" runat="server">
<OPTION selected></OPTION>
</SELECT>

....:​
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
با سلام خدمت دوستان
من در يكي از فرم ها از ليست باكس استفاده ميكنم ، مي خواهم وقتي يكي از ايتم ها مثلا در ليست باكس اول انتخاب مي شود با دوبار كليك برروي آن ليست باكس دوم پرشود .
من نمي دانم چه رويدادي از رويدادهاي ليست باكس را انتخاب كنم ؟
autopostback رو فعال کنید و از این event استفاده کنید:
SelectedIndexChanged
 

tabeez

Registered User
تاریخ عضویت
7 دسامبر 2006
نوشته‌ها
260
لایک‌ها
0
autopostback رو فعال کنید و از این event استفاده کنید:
SelectedIndexChanged

دوست عزیز من قبلا اینکار رو انجام دادم.ساده هست ولی اگه قبل از اون تکست باکسی و کلا هر چیز دیگه ای داری که با جاوا قصد چک کردن مقدارش رو داشته باشی، با اینکار اونها رو هم چک میکنه. و پیغام نمایش داده میشن.ولی با کد بالائی که گذاشتم و الآن هم استفاده میکنم فقط اون قسمت از صفحه رفرش میشه.و سرعت بیشتر...
به هر حال...
samaی عزیز 2روش هست.اگه کنترلت استاندارد دات نت هست از روش Graveworm و اگه html هست از اون کدهائی که گذاشتم.و......:cool:
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran


دوست عزیز من قبلا اینکار رو انجام دادم.ساده هست ولی اگه قبل از اون تکست باکسی و کلا هر چیز دیگه ای داری که با جاوا قصد چک کردن مقدارش رو داشته باشی، با اینکار اونها رو هم چک میکنه. و پیغام نمایش داده میشن.ولی با کد بالائی که گذاشتم و الآن هم استفاده میکنم فقط اون قسمت از صفحه رفرش میشه.و سرعت بیشتر...
به هر حال...
samaی عزیز 2روش هست.اگه کنترلت استاندارد دات نت هست از روش Graveworm و اگه html هست از اون کدهائی که گذاشتم.و......:cool:
برای validation اگه از validation control های asp.net استفاده میکنید، با تعیین validationgroup این مشکل حل میشه و نیاری به کد نویسی نیست :)
 

tabeez

Registered User
تاریخ عضویت
7 دسامبر 2006
نوشته‌ها
260
لایک‌ها
0
درسته.فقط تو validationgroup باید چی ثبت شه؟!
اسم کنترل هائی که باید همراه کنترل لیست باکس ما postback شن؟!!!
اگه نه مثال بزنی ممنون میشمم
 

sama15661

کاربر تازه وارد
تاریخ عضویت
9 دسامبر 2006
نوشته‌ها
23
لایک‌ها
0
برا اینکار تو صفحه .aspx و تو رویداد onchange لیست باکست این کد رو بزار

....:​

با تشكر از شما
من متوجه نشدم اين كد را در كدام قسمت بگذارم يعني در صفحه design صفحات aspx همان جايي كه كدهاي html قرار دارند؟
و در ابزارهاي html ابزار ليست باكس را نديدم و از ليست باكس استاندارد vs2005 استفاده مي كنم .
 

sama15661

کاربر تازه وارد
تاریخ عضویت
9 دسامبر 2006
نوشته‌ها
23
لایک‌ها
0
برای validation اگه از validation control های asp.net استفاده میکنید، با تعیین validationgroup این مشکل حل میشه و نیاری به کد نویسی نیست :)

با تشكر از پاسخ شما

من متوجه منظور شما درمورد validation نمي شوم؟
 

tabeez

Registered User
تاریخ عضویت
7 دسامبر 2006
نوشته‌ها
260
لایک‌ها
0
مشکلی نیست.استفاده از همون لینک باکس استداندارد استفاده میکنی بهتره


در مورد چطور استفاده کردن هم وقتی لیست باکس رو به صفحه اضافه کردی، اون رو انتخاب و تو قسمت propertiesگزینه Autopostback رو برابر True قرار بده.بعد با دابل کلیک کردن رو لیست باکس وارد صفحه کدنویسی و رویداد

YourListBoxName_SelectedIndexChanged میشی که میتونی اونجا کد نویسی کنی. در این حالت وقتی مقدار لیست باکس تغییر کرد، این رویه اجرا میشه.
حالا،
وقتی از این کد استفاده کنی ،با تغییر لیست گزینه انتخابی لیست باکس کل صفحه submit میشه.که Graveworm گفتن که میشه از قسمت validationgroup تعیین کرد کدوم قیمت ارسال شه.
دوست عزیز Graveworm لطفا توضیح بده validationgroup رو چطور مقدار بدم.یعنی اونجا تو قسمت properties و جلوی validationgroup چی باید نوشته شه!
.........
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
مشکلی نیست.استفاده از همون لینک باکس استداندارد استفاده میکنی بهتره


در مورد چطور استفاده کردن هم وقتی لیست باکس رو به صفحه اضافه کردی، اون رو انتخاب و تو قسمت propertiesگزینه Autopostback رو برابر True قرار بده.بعد با دابل کلیک کردن رو لیست باکس وارد صفحه کدنویسی و رویداد

YourListBoxName_SelectedIndexChanged میشی که میتونی اونجا کد نویسی کنی. در این حالت وقتی مقدار لیست باکس تغییر کرد، این رویه اجرا میشه.
حالا،
وقتی از این کد استفاده کنی ،با تغییر لیست گزینه انتخابی لیست باکس کل صفحه submit میشه.که Graveworm گفتن که میشه از قسمت validationgroup تعیین کرد کدوم قیمت ارسال شه.
دوست عزیز Graveworm لطفا توضیح بده validationgroup رو چطور مقدار بدم.یعنی اونجا تو قسمت properties و جلوی validationgroup چی باید نوشته شه!
.........
یه اسم میدی :)

مثلا 1 text داری یه button بالای صفحه برا سرچ مثلا

پایین هم یه فرم contact us داری ..

validation group بالا رو میذاری مثلا searchvalidation ، هم برا اون یه text و برا button . برا validation control که براشون گذاشتی
و برا کلیه کنترل های اونیکی قسمت یه اسم دیگه میذاری.

در واقع 2 قسمت کردی کنترل هات رو، که موقع پست ، دخالت نمیکنن تو کار هم.
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
PHP:
 <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="valid1" />
                <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="valid1"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
                    ErrorMessage="*" ValidationGroup="valid1"></asp:RequiredFieldValidator><br />
                <asp:Button ID="Button2" runat="server" Text="Button" ValidationGroup="valid2" />
                <asp:TextBox ID="TextBox2" runat="server" ValidationGroup="valid2"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2"
                    ErrorMessage="*" ValidationGroup="valid2"></asp:RequiredFieldValidator><br />
 

tabeez

Registered User
تاریخ عضویت
7 دسامبر 2006
نوشته‌ها
260
لایک‌ها
0
مرسی عزیز.متوجه شدم!!
 

kohyar

کاربر تازه وارد
تاریخ عضویت
5 آپریل 2007
نوشته‌ها
94
لایک‌ها
0
محل سکونت
تهران
با سلام دوستان لطفا يك كمك فوري مي خوام
من يك فرم به نام dataform دارم كه توش دو تا ليست باكس دارم كه مي خوام با انتخاب گزينه هاي ليست باكس اولي فيلد هاي ليست باكس دومي تغيير كند
نام ليست باكس اولي repairshop هستش و نام ليست باكس ديگه cars مي باشد اين كد رو هم نوشتم
<select size="1" name="repairshop" language="javascript" id="tamirgah" onchange="return repairshop_onchange()" runat="server" >
<option value="0">0</option>
<option value="1">1</option>
<option value="2"> 2</option>
<option value="3"> 3</option>
<option value="5"> 5</option>
<option value="6"> 6</option>
</select><select size="1" name="cars"></select>
<script language="javascript">
function repairshop_onchange()
{
if(document.dataform.repairshop.value=="1")
{
// code......
return false;
}
}
</script>
اگه ميشه بهم بگين كه چطوري مي تونم زمانيكه گزينه اول از ليست باكس repairshop را انتخاب مي كنم چند گزينه مرتبط با اين فيلد توي ليست باكس زشقس ايجاد شود
من كارم خيلي گيره اگه ميشه كمكم كنيد
 

kohyar

کاربر تازه وارد
تاریخ عضویت
5 آپریل 2007
نوشته‌ها
94
لایک‌ها
0
محل سکونت
تهران
با سلام دوستان لطفا يك كمك فوري مي خوام
من يك فرم به نام dataform دارم كه توش دو تا ليست باكس دارم كه مي خوام با انتخاب گزينه هاي ليست باكس اولي فيلد هاي ليست باكس دومي تغيير كند
نام ليست باكس اولي repairshop هستش و نام ليست باكس ديگه cars مي باشد اين كد رو هم نوشتم
<select size="1" name="repairshop" language="javascript" id="tamirgah" onchange="return repairshop_onchange()" runat="server" >
<option value="0">0</option>
<option value="1">1</option>
<option value="2"> 2</option>
<option value="3"> 3</option>
<option value="5"> 5</option>
<option value="6"> 6</option>
</select><select size="1" name="cars"></select>
<script language="javascript">
function repairshop_onchange()
{
if(document.dataform.repairshop.value=="1")
{
// code......
return false;
}
}
</script>
اگه ميشه بهم بگين كه چطوري مي تونم زمانيكه گزينه اول از ليست باكس repairshop را انتخاب مي كنم چند گزينه مرتبط با اين فيلد توي ليست باكس cars ايجاد شود
من كارم خيلي گيره اگه ميشه كمكم كنيد
 
بالا