نمایش نتایج 1 تا 10 از 10

نام تاپیک: مشکل بزرگ DeafultButton (کلید پیش فرض) هنگامی که در اصل چند فرم داریم .

  1. #1

    Red face مشکل بزرگ DeafultButton (کلید پیش فرض) هنگامی که در اصل چند فرم داریم .

    با عرض سلام خدمت دوستان برنامه نویس

    این بحث قبلا در تاپیک زیر مطرح شده بود . ولی بی جواب ماند .
    https://barnamenevis.org/showthread.php?t=31767

    همگی میدونید که در سایر زبان های برنامه نویسی تحت وب مثل ASP,Php,... فرم هایی که
    ساخته می شوند خود کاری انجام نمیدهند . بلکه اطلاعات را به صفحه های داینامیک پاس داده
    و در آنجا پردازش می شوند . حالت دومش هم اینه که روی خودشون پست بک میشوند و همون جا
    پردازش می شوند . در این زبان ها شما به هر تعدادی که بخواهید میتونید فرم داشته باشید .

    مشکل من از اینجا شروع میشه که در ASP.net ما نمیتوانیم بیش از یک فرم Runat Server داشته باشیم .
    و اگر بخواهیم مثلا 2 قسمت پر کردن اطلاعات داشته باشیم باید همه رو روی فرم اصلی بچینیم .

    حالا مشکل اینجاست که در این صورت کلید پیش فرض کلیدی است که بالاتر قرار گرفته باشد و
    اگر شما در هنگام پر کردن فرم پایین کلید Enter رو بزنید دکمه پیش فرض که دکمه فرم بالایی باشه
    Fire میشه و فرم بالایی ارسال میشه .

    خوب بنا به دلایلی که که توی این سایت خونده ام استفاه از Validator ها هم زیاد جالب نیست .
    و اکثرا ترجیح میدن خودشون مقادیر رو چک کنند و اجازه ارسال فرم رو بدهند .
    چون Validator ها در دات نت 2 خاصیتی به نام ValidationGroup دارند که میشه فرم ها رو از هم
    جدا کرد و اطلاعاتشون کاری به هم نداشته باشه .

    کنترل Panel هم خاصیتی به نام DefaultButton داره که کلید پیش فرضی برای تگ Div تعریف میکنه
    که اون هم مشکلات زیادی داره .یکی از مشکلاتش هم همینه که اگر با Validator ها با هم به کار برند
    قاط میزنه و بدون چک کردن مقادیر صفحه رو ارسال میکنه .

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

    ببخشید که این همه زیاد نوشتم . در ضمن اگه از نظر علمی مطالب بالا اشتباه داره به بزرگی خودتون ببخشید .
    چون اینها تجربه شخصی خودم از طراحی وب بوده .

    از همگی ممنونم .

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Net@
    پست
    415
    ببخشید من متوجه نشدم بالاخره مشکل شما چی است؟
    ایا مشکل دو فرم در یک صفحه دارید ؟
    یا مشکل validation فرم دارید ؟
    یا مشکل Enter روی کلید ؟

  3. #3
    ممنونم از توجه شما .
    مشکل من دقیقا Enter زدن روی فرم هاست .
    یا Enter زدن روی کلیدی که در فرم پیش فرض است .

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

    امیدوارم مشکل واضح شده باشه . ممنونم از شما .

  4. #4
    ASP.NET 2.0
    خاصیت "defaultbutton" تگ "form" رو در فایل aspx برابر با نام دکمه ی پیش فرضت قرار بده.

    موفق باشید.

  5. #5
    دوست من ، من خیلی با این مشکل سرو کله زدم
    بیشتر راه ها جواب نداد و خاصیت "defaultbutton" تگ "form" وقتی از masterpage ها استفاده کنیم دیگه معنی پیدا نمیکنه
    راهی که من استفاده میکنم اینه:
    باید بدونی که کاربر چه وقتی دکمه enter رو فشار میده ؟
    جواب اینه که وقتی فرم رو بصورت کامل پر کرد یعنی وقتی تکس باکس آخر رو پر کنه
    خوب کافیه کد زیر رو در رویداد مربوط به لود شدن صفحه بنویسید:


    your_textbox.Attributes.Add("onkeypress", "if (event.keyCode == 13){" + your_button.ClientID + ".click();return false;}")
    کاری که این کد انجام میده فرمان enter رو صادر میکنه!
    این کد برای لوگین فرم ها خیلی خوبه
    جاهای دیگه هم تست کنید خبرشو بدید
    موفق باشی

  6. #6
    خاصیت "defaultbutton" تگ "form" وقتی از masterpage ها استفاده کنیم دیگه معنی پیدا نمیکنه
    خیر!
    در این حالت می تونی از خاصیت UniqueID دکمه استفاده کنی.

    موفق باشید.

  7. #7

    Red face

    ازتمامی دوستان ممنونم .
    خواهشا یک نگاه به سایت زیر بیندازید (کار خودمه )
    http://www.samanabyar.com/fs

    مشکلات :
    1.همیشه دکمه جستجو فعال است (به دلیل وجو یک فرم که کل صفحه رو پوشانده و وجود تنها همین کلید) .

    2.در صفحه تماس با ما برای پر کدن فرم دکمه فعال جستجو است .

    آقای بهروز راد . اگر DefaultButton فرم رو کلید ارسال فرم تماس با ما قرار بدهم دیگه جستجو
    کار نمیکنه .

    در ضمن از Nazaninam ممنونم . کد خوبی ارائه داده بودین .ولی هنوز توی استفاده اش شک دارم .
    ممنون میشم راهنمایی کنید .

    در ضمن مسائل مطرح شده در IE خیلی بهتر از FireFox قابل مشاهده است.

  8. #8
    بهروز جان میشه در مورد نحوه کار uniqid توضیح بدید

  9. #9

  10. #10
    آقای بهروز راد .
    راستش استفاده از DefaultButon تقریبا چیزی شبیه کد Nazaninam در می آید .

    یعنی میاد در OnKeyPress چک میکنه اگه Enter بود کلید مربوطه رو فایر میکنه .
    ولی اگه بشه واقعا کلید پیش فرض باشه خیلی عالی میشه .
    یه جوری که مثلا دو تا فرم داشته باشیم تا هر کدوم یه Submit داشته باشند .

    من منتظرم تا جواب شما و سایر دوستان رو بدونم .

قوانین ایجاد تاپیک در تالار

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