# زبان های اسکریپتی > JavaScript و Framework های مبتنی بر آن >  دستور return در موقع فراخوانی یک Function

## saeedgharedaghi

با سلام خدمت دوستان برنامه نویس و ...
میخواستم بدونم دستور return در موقع فراخوانی یک function چه عملی را انجام میدهد و برای چی از این دستور استفاده میکنن

<input type="button" onClick="return My_Function();" />


از دوستان اگه کسی میدونه خواهش میکنم راهنمایی کنه .

----------


## narsic

با سلام
به صورت کلی دستور بازگشت یا Return برای برگردوندن مقدار هست که معمولا در توابع ازش استفاده میشه
اما استفاده از اون در کدی که شما نوشتید باعث تعیین عملکرد دکمه میشه یعنی اینکه اگه در کد بالا تابع My_Function مقدار True برگردونه عملیات دکمه ادامه پیدا میکنه حالا این عملیات میتونه هر چیزی باشه مانند ثبت یک فرم و یا غیره و در صورتی که تابع مقدار False برگردونه عملیات دکمه ادامه پیدا نمیکنه (این حالت برای دیگر عناصر وب نیز وجود دارد)
موفق باشید

----------


## saeedgharedaghi

دوست عزیز narsic 
اگه راه داره میتونین رو یه مثال توضیح بدین

----------


## narsic

با سلام


```
<form action="">
<input type="text" value=""  id="name" name="name"/>
<input type="submit" onClick="return validateForm()" value="submit" />
</form>
```

function validateForm()
{
name=document.getElementById('name').value
if (name=="")
{
alert("Element Name Can't Empty");
return false;
}
else
return true;
در کد بالا زمانی که روی دکمه کلیک بشه تابع فراخوانی میشه و تابع بررسی میکنه در صورتی که شی name دارای مقدار باشه تابع مقدار True بر میگردونه که باعث میشه دکمه ما ادامه کارش رو انجام بده که همون ثبت فرم هست در غیر این صورت یک پیغام به کاربر نشون میده و مقدار False برمیگردونه که باعث جلوگیری از ثبت فرم میشه
*البته مبتونبم بجای اینکه در رویداد onClick دکمه تابع را فراخوانی کنیم در رویداد onSubmit فرم این کار رو انجام بدیم که باعث میشه فرم بدونه کنترل ثبت نشه.
موفق باشید

----------


## saeedgharedaghi

واقعا ازت ممنونم

----------


## mmojbo

ممنونم narsic عزیز
خیلی عالی بود،
فقط یه سوال دارم :

من وقتی کاربر دکمه رو میزنه اگه فیلدها پرنباشن تو یه span یه پیغام میزارم تو همون صفحه 
و اگه هم پر باشن یه پیغام اما پیغام درست فقط یه لحظه نمایش داده میشه! چرا؟مشکل کجاست؟
ممنون میشم راهنمایی کنی

اینم کد : 

<form action="#" name="regForm">
    
    <tr><td colspan="3"><h1>Register Form</h1></td></tr>
    <tr><td colspan="3"><span id="sp">  </span></td></tr>



function check_sub()
    {
        var msgT= "Thanks, Your information registred";
        var msgF= "Sorry, Please fill the Fields";
        var SP=document.getElementById("sp");
      var tname = document.getElementById("tname");
      var tuser = document.getElementById("tuser");
      var tpass = document.getElementById("tpass");
      var tcpass = document.getElementById("tcpass");
      var temail = document.getElementById("temail");

      if(tname.style.borderColor=="green" && tuser.style.borderColor=="green" &&
         tpass.style.borderColor=="green" && tcpass.style.borderColor=="green" && temail.style.borderColor=="green")
         {
            SP.innerHTML=msgT;
            return true;
         }
       else{
        SP.innerHTML=msgF;
        return false;
       }     
         
    }

----------


## narsic

> ممنونم narsic عزیز
> خیلی عالی بود،
> فقط یه سوال دارم :
> 
> من وقتی کاربر دکمه رو میزنه اگه فیلدها پرنباشن تو یه span یه پیغام میزارم تو همون صفحه 
> و اگه هم پر باشن یه پیغام اما پیغام درست فقط یه لحظه نمایش داده میشه! چرا؟مشکل کجاست؟
> ممنون میشم راهنمایی کنی
> 
> اینم کد : 
> ...


 این کدی که الان گذاشتید باید صحیح عمل کنه. (ساختار و منطق صحیحه)
یه نمونه یا تمام کد رو قرار بدید. (تمام کدی که به این قسمت مربوط میشه)
*لطفا برای سوآل جدید تاپیک جدید ایجاد کنید.
موفق باشید

----------


## mmojbo

ممنون از توجه تون
اینم کد کامل :

<div id="d1">
    <table>
    <form action="regForm.htm" name="regForm" method="post">
    <tr><td><img src="imgs/icc.png" width="40" height="40" /><h1>Register Form</h1></td></tr>
    <tr><td><span id="sp"> </span></td></tr>
    
    <tr><td><input type="text" name="name" maxlength="15" value="Please Enter Your Name..." id="tname" size="33" 
    onfocus="emptyField(document.regForm.name);" onblur="return chkname(document.regForm.name);" /></td></tr>
    
    <tr><td><input type="text" name="user" value="Please Enter Your UserName..." id="tuser" size="33"
    onfocus="emptyField(document.regForm.user);" onblur="checkField(document.regForm.user);" /></td></tr>
        
    <tr><td><input type="text" name="pass" id="tpass" value="Please Enter Your PassWord..." size="33" 
    onfocus="emptyField(document.regForm.pass);" onblur="checkField(document.regForm.pass);"/></td></tr>
    
    <tr><td><input type="text" name="cpass" id="tcpass" value="Please Re-Enter Your Password..." size="33" 
    onfocus="emptyField(document.regForm.cpass);" onblur="checkField(document.regForm.cpass);"/></td></tr>
        
    <tr><td><input type="text" name="email" id="temail" value="Please Enter Your Email Address..." size="33"
    onfocus="emptyField(document.regForm.email);" onblur="checkEmailAddress(document.regForm.email);  " /></td></tr>
    
        
    <tr><td><input type="submit" name="sub" value="Register" id="sub1" onclick="return check_sub();" /></td></tr>
        
    </form>
    </table>
    </div>


تابع رو هم که قبلا نوشتم 
همونطور که گفتم مشکل اینه که بعد از submit شدن فرم، فقط یه لحظه پیغام نمایش داده میشه و بعد به سرعت از بین میره!!!

ممنون

----------

