Marius Vasile

Marius Vasile

  • 610
  • 1.8k
  • 140k

OnClientClick is not working as intended

Aug 14 2023 3:54 PM

I am trying to check data before posting but on button click the post is running no matter the result of the function. I have

button

<asp:Button ID="btnSave" Text="Save" OnClientClick="if (!CheckData()) { return false; }" OnClick="Adauga_Raspunsuri" runat="server" class="btn btn-md lfc-red ml-1 mr-1" style="font-size:14px;width:150px;" ClientIDMode="Static" />

and jquery

<script type="text/javascript">

    $(document).ready(function () {

        $("#txtCorect1").val($("#ddlCorect1 option:selected").text());
        $("#txtCorect2").val($("#ddlCorect2 option:selected").text());
        $("#txtCorect3").val($("#ddlCorect3 option:selected").text());

        $("#ddlCorect1").on("change", function () {
            var c1 = $("#ddlCorect1 option:selected").text();
            $("#txtCorect1").val(c1);
        })
        $("#ddlCorect2").on("change", function () {
            var c2 = $("#ddlCorect2 option:selected").text();
            $("#txtCorect2").val(c2);
        })
        $("#ddlCorect3").on("change", function () {
            var c3 = $("#ddlCorect3 option:selected").text();
            $("#txtCorect3").val(c3);
        })
        
        $(".colorchg").each(function () {
            $(this).css("background", $(this).val());
        });
        $(".colorchg").change(function () {
            $(this).css("background", $(this).val());
        });

        $("#txtRaspuns1").on("change", function () {
            var r1 = $("#txtRaspuns1").val().length;
        })
        $("#txtRaspuns2").on("change", function () {
            var r2 = $("#txtRaspuns2").val().length;
        })
        $("#txtRaspuns3").on("change", function () {
            var r3 = $("#txtRaspuns3").val().length;
        })
    });

    function CheckData() {

        var raspuns = false;
        var corect = false;

        if (r1 == 0 || r2 == 0 || r3 == 0) {

            raspuns = false;
        }
        else {
            raspuns = true;
        }

        if (c1 == "DA" && c2 == "NU" && c3 == "NU") {

            corect = true;
        }
        else if (c1 == "NU" && c2 == "DA" && c3 == "NU") {

            corect = true;
        }
        else if (c1 == "NU" && c2 == "NU" && c3 == "DA") {

            corect = true;
        }
        else {

            corect = false;
        }
        alert(corect);
        alert(raspuns);
        if (raspuns == true && corect == true) {

            return true;
        }
        else {

            return false;
        }
    }
</script>

So, no matter if c1, c2 and c3 are all "NU", or all "DA" or r1, r2, r3 are empty, OnClick="Adauga_Raspunsuri" is run. And I can't find why


Answers (2)