2013-11-04 69 views
0

我的下面的函數驗證用戶是否輸入了url。如果約束失敗,暫停執行

如果rate = 0,那麼它應該等到用戶輸入它。但在下面的情況下,它顯示了waring,但之後的函數調用得到執行而不用等待用戶給出速率值。

我該如何限制它?

var rate = is_valid_rate(); 
function is_valid_rate() 
     { 
      var rate = $('#rateit99').rateit('value'); 
      if(rate == 0) 
      {     
       document.getElementById('rate_validate').style.color='#00BBFF'; 
       document.getElementById('rate_validate').style.display='block'; 
       //is_valid_rate(); 
      } 
      else 
      { 
       document.getElementById('rate_validate').style.display='none';    
       return rate; 
      } 
     } 
+0

我不認爲你已經證明一切必要的代碼。 –

回答

1

它看起來你只需要返回它是否有效和該函數的調用者需要檢查返回值並相應地採取行動。

function is_valid_rate() { 
    var rate = $('#rateit99').rateit('value'); 
    var rateObj = document.getElementById('rate_validate'); 
    if (rate == 0) {     
      rateObj.style.color='#00BBFF'; 
      rateObj.style.display='block'; 
    } else { 
      rateObj.style.display='none';    
    } 
    return rate; 
} 

var rate = is_valid_rate(); 
if (rate) { 
    // put code here to execute when rate is valid 
} 

或因爲它看起來像你已經使用jQuery:

function is_valid_rate() { 
    var rate = $('#rateit99').rateit('value'); 
    var rateObj = $('rate_validate').toggle(rate == 0); 
    if (rate == 0) {     
      rateObj.css('color', '#00BBFF') 
    } 
    return rate; 
} 

var rate = is_valid_rate(); 
if (rate) { 
    // put code here to execute when rate is valid 
} 
+0

什麼是一個很好的聲譽評分「111」(當然k爲:P) –