2013-11-04 66 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) –