猿问

无线电检查验证失败

我这里有一个奇怪的问题,有(未)选中的单选按钮。


我的代码:


function validate(el) {

    if ($('#type_P').is(':checked') === true && (parseInt($('#voucher_price').val()) <= 0) || isNaN(parseInt($('#voucher_price').val()))) {

        alert($('#type_P').is(':checked') === true);

        $('#service_price').addClass('error');

        $('#service_price').parent().addClass('error');

    }


    return false;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form onsubmit="return validate(this)">

    P: <input type="radio" checked name="type" id="type_P" value="P">

    S: <input type="radio" name="type" id="type_S" value="S">


    <input id="voucher_price">

    <input type=submit>

</form>


当选中“type_S”而不是“type_P”时,它会在警报中返回“false”。我的意思是不必显示任何警报。


为什么?当 if 语句中存在相同条件时,如何显示此警报?


牧羊人nacy
浏览 130回答 1
1回答

森栏

括号中存在问题。对的是(expr1 && (expr2 || expr3)),我有(expr1 && expr2 || expr3)。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答