0

我下面的函数验证用户是否输入了 url。

如果 rate = 0 那么它应该等到用户输入它。但在下面的情况下,它显示了警告,但随后的函数调用在不等待用户给出速率值的情况下被执行。

我如何约束它?

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;
            }
        }
4

1 回答 1

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
}
于 2013-11-04T05:54:23.167 回答