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

i-php-i

Active Member
اگر توی یه فرم چندتا دکمه ارسال باشه و کاربر برای ارسال فرم، فوکوس رو توی یکی از فیلدها قرار بده و اینتر کنه، موقع پردازش فرم کدوم یکی از دکمه ها به عنوان دکمه ارسال کننده ثبت می شه؟
 

echessdesign

مدیر انجمن طراحی وب
درود بر شما
برای اجزای فرم، مانند input, button,... می تونید ترتیب tab هر کدوم رو مشخص کنید، مثلا
کد:
<INPUT tabindex="6" type="text" name="field1"><br />
<INPUT tabindex="5" type="text" name="field2"><br />
<INPUT tabindex="4" type="text" name="field2"><br />
<INPUT tabindex="3" type="text" name="field2"><br />
<INPUT tabindex="2" type="text" name="field2"><br />
<INPUT tabindex="1" type="text" name="field2">
شما اگر کد بالا رو تست کنید، از اونجا که عدد کوچکتر تقدم به عدد بزرگتر دارد، با زدن دکمه tab، نمایش گر در input از پایین به بالا می رود
موفق باشید
 

oldooz

Well-Known Member
اگر توی یه فرم چندتا دکمه ارسال باشه و کاربر برای ارسال فرم، فوکوس رو توی یکی از فیلدها قرار بده و اینتر کنه، موقع پردازش فرم کدوم یکی از دکمه ها به عنوان دکمه ارسال کننده ثبت می شه؟
PHP:
<form action="" method="get">
<input name="" type="text" />
<input name="" type="text" />
<input name="" type="submit" onclick="alert('s');" />
<input name="" type="submit" />
</form>
فکر میکنم دوستمون منظورتون رو متوجه نشدن و شما این حالت رو میگید؟
زمانی که در یک فرم دو یا چند دکمه سابمیت باشه و ما رو هیچ کدوم کلیک نکنیم و وقتی که فوکوس روی یه المنت دیگه از فرم هست اینتر بزنیم.
خب در این حالت دکمه ای سابمیت خواهد شد که جلوتر قرار دارد. یعنی در سورس برنامه اولین دکمه سابمیت هست.
در این کدی هم که قرار دادم مشاهده میکنید که وقتی اینتر میزنیم مسیج داده میشه پس یعنی دکمه اول اجرا میشه
 

i-php-i

Active Member
خب در این حالت دکمه ای سابمیت خواهد شد که جلوتر قرار دارد. یعنی در سورس برنامه اولین دکمه سابمیت هست.
مرسی.
حالا فرض کنید که من نمی خوام فرمم به اینصورت ارسال بشه. باید چیکار کنم؟
 
آخرین ویرایش:

oldooz

Well-Known Member
مرسی.
حالا فرض کنید که من نمی خوام فرمم به اینصورت ارسال بشه. باید چیکار کنم؟
یعنی وقتی اینتر زده شد هیچ اتفاقی نیفته؟
این یه راهشه:
PHP:
<script language="JavaScript">
function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13)
          return false;
     else
          return true;
}
</script>

<form action="" method="get">
<input type="text" name="mytext" onKeyPress="return disableEnterKey(event)">
<input type="text" name="mytext" onKeyPress="return disableEnterKey(event)">
<input name="" type="submit" onclick="alert('s');" />
<input name="" type="submit" />
</form>
اینجوری روی هر المنت هردکمه ای غیر از اینتر زده بشه همون اتفاقای قبلی میفته اما اگه اینتر زده بشه هیچ اتفاقی نمیفته
 

i-php-i

Active Member
اینجوری روی هر المنت هردکمه ای غیر از اینتر زده بشه همون اتفاقای قبلی میفته اما اگه اینتر زده بشه هیچ اتفاقی نمیفته
بنظرم برای کامل شدن کار باید وقتی که فکوس توی فیلدهای فرم هست این کار رو کرد. این مطلب درسته؟
 

oldooz

Well-Known Member
بنظرم برای کامل شدن کار باید وقتی که فکوس توی فیلدهای فرم هست این کار رو کرد. این مطلب درسته؟
متوجه نشدم؟ خب وقتی فوکوس روی المنتهای فرم هست شما اینتر میزنید نادیده گرفته میشه
 

i-php-i

Active Member
متوجه نشدم؟ خب وقتی فوکوس روی المنتهای فرم هست شما اینتر میزنید نادیده گرفته میشه
من عادت ندارم که جاوا اسکریپت رو وارد html کنم به همین دلیل به فیلدهای فرم نگاه نکردم. ولی حواسم نبود که این بحث یه بحث آموزشی هست :wink:

مرسی از راهنماییتون.
 

جدیدترین ارسال ها

بالا