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





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





صفحه 1 از 4 123 ... آخرین
نمایش نتایج: از 1 به 10 از 31
  1. #1
    تاریخ عضویت
    2019/03/11
    نوشته ها
    29
    0
    Member

    انتقال مکان نما به فیلد بعد توسط کلید Enter

    با سلام
    در فایل پیوست 2 فایل html قرار دارد که در آنها از طریق کلید Enter کنترل به فیلد بعدی منتقل می شود .

    2 تا مشکل دارم که اگر دوستان و اساتید عزیز لطف کنند و راهنمائی کنند ممنون میشم

    مشکل اول :
    زمانی که کنترل به دکمه Submit میرسه و کلید Enter فشار داده میشه ، دکمه اعمال نمیشه و داده های موجود در فرم به action ارسال نمی شوند و مجددا کنترل به فیلد بعدی انتقال داده میشه

    مشکل دوم :
    در فایل شماره 2 که در پیوست موجود می باشد ، یک از فیلدها را hidden کردم و زمانی که جابجائی بین فیلد ها به این فیلد مخفی میرسه دیگه با فشار دادن Enter به فیلد بعدی منتقل نمیشه و همین جا گیر میکنه
    فایل های پیوست شده فایل های پیوست شده
    • نوع فایل: zip Demo.zip (34.0 کیلو بایت, 8 مشاهدات)
  2. #2
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    برای مشکل اول: چون ورودی hidden قابلیت فوکوس نداره باید یه شرط بذاری که اگه ورودی بعدی که میخوای روش فوکوس کنی نوعش hidden بود بره روی ورودی بعد از hidden.
    برای مشکل دوم: باید یه شرط بذاری که اگه نوع ورودی submit بود فرم ارسال بشه.
    برای مثال:
    محتوای فایل html:
    کد:
    <html>
      <body>
        <form action="ContactProcessor.php" class="contact-form">
          <input placeholder="Full name" class="contact-input"/>
          <br />
          <input placeholder="Phone number" class="contact-input"/>
          <br />
          <input type="hidden" class="contact-input"/>
          <br />
          <input type="submit" class="contact-input"/>
        </form>
      </body>
    </html>



    محتوای فایل js:
    کد:
    $('.contact-form .contact-input').keydown(function (e) {
    
    
    // اگر کلید وارد شده اینتر باشه کدهای داخل شرط اجرا میشه
        if (e.which === 13) {
        
        // ایندکس ورودی بعدی رو میگیره
        var nextInputIndex = $('.contact-input').index(this) + 1;
        
        // نوع ورودی بعدی رو مشخص میکنه
        var inputType = $('.contact-input').eq(nextInputIndex).attr('type');   
    
    
    // اگه فیلد ورودی از نوع هیدن باشه یک واحد به ایندکس اضافه
        // میشه و نوع ورودی بعدی گرفته میشه تا بر روی ورودی بعدی فوکوس بشه
        if (inputType == 'hidden')
        {
         nextInputIndex += 1;
         inputType =  $('.contact-input').eq(nextInputIndex).attr('type'); 
        }
        
        // بر روی ورودی بعدی فوکوس میکنه
        $('.contact-input').eq(nextInputIndex).focus();
        
        // اگه نوع ورودی submit نباشه فرم ارسال نمیشه
        // اما اگه submit باشه بعد از فوکوس شدن روی دکمه فرم ارسال میشه
        if (inputType != 'submit')
         // از ارسال شدن فرم جلوگیری میکنه
         e.preventDefault();
      }
    });

    محتوای فایل css:
    کد:
    .contact-form {
      margin: auto;
      text-align: center;
    }
    
    
    .contact-input {
      padding: 8px 16px;
      margin: 8px;
    }
    
    
    .contact-input:focus {
      outline: 3px dotted #3399ff;
    }
  3. #3
    تاریخ عضویت
    2019/03/11
    نوشته ها
    29
    0
    Member
    با سلام و تشکر ویژه از جنابعالی، این سوال را درچندین فروم مطرح و بزرگ ثبت کردم و هیچ جوابی تا کنون از اون فروم ها دریافت نکردم و اصلا انتظار نداشتم که در فروم شما به این تیکت پاسخ داده بشه. توضیحات و کدهای اصلاحی شما را در فایل پیوست قرار دادم. خواهشمند است بررسی کنید که چرا با کلید Enter کنترل فرم تغییر نمی کنه.
    باز هم ممنون از شما
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط سعید سیفی زاده : 2019/03/12 در ساعت 12:08
  4. #4
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    چون تو ویرایشگر انلاین نوشتمش یادم رفته بود بذارمش داخل تابع ready الان کار میکنه
    فایل های پیوست شده فایل های پیوست شده
  5. #5
    تاریخ عضویت
    2019/03/11
    نوشته ها
    29
    0
    Member
    با سلام و عرض ادب و احترام
    در کد پیوست ، 4 فیلد جدید ایجاد کردم و محل نمایش آنها را از دید کاربر مخفی کردم ( style=display:none )

    مجددا زمانی که کنترل به آن بخش می رسد ، انتقال انجام نمی شود.
    ممنون میشم اگر این مورد هم بررسی نمائید

    با تشکر ویژه از جنابعالی
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط rash44 : 2019/03/12 در ساعت 07:11
  6. #6
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    باید یه شرط دیگه بذاری که مقدار خاصیت display عنصر رو چک کنه و اگه none بود یه بر روی عنصر بعدی. مثل این:
    کد:
    var isHidden = $('.contact-input').eq(nextInputIndex).css('display') == 'none';
    
    
    if (isHidden)
    {
    nextInputIndex += 1;
    inputType =  $('.contact-input').eq(nextInputIndex).attr('type'); 
    }
  7. #7
    تاریخ عضویت
    2019/03/11
    نوشته ها
    29
    0
    Member
    با سلام مجدد
    کد را ویرایش کردم اما مشکل حل نشد
    ممنون
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط rash44 : 2019/03/12 در ساعت 08:38
  8. #8
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    الان این کار میکنه:
    فایل های پیوست شده فایل های پیوست شده
  9. #9
    تاریخ عضویت
    2019/03/11
    نوشته ها
    29
    0
    Member
    با سلام، لطفا فیلم پیوست را ملاحظه کنید. لینک دانلود:
    فرم بعد از اینکه یک بار ارسال شد ، در دفعات بعدی دیگه انتقال انجام نمیشه.
    ویرایش توسط سعید سیفی زاده : 2019/03/15 در ساعت 03:03
  10. #10
    تاریخ عضویت
    2019/03/11
    نوشته ها
    29
    0
    Member
    چون از جداول داره استفاده میشه لطفا یک راهکار تعیین کنید برام

    ممنون از شما
صفحه 1 از 4 123 ... آخرین
نمایش نتایج: از 1 به 10 از 31

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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