jquery ajax 调用按钮单击验证不起作用

jquery ajax call on button click validation not working

本文关键字:验证 不起作用 单击 按钮 ajax 调用 jquery      更新时间:2023-09-26

我正在使用jquery ajax调用在btn点击上提交表单。我正在做表单验证,如果输入无效,则需要停止 ajax 调用。我已经尝试了以下代码,但即使条件失败,每次表单也会提交

<script type="text/javascript">
    $(document).ready(function () {
        $('#btnSubmit').click(function (evt) {
            if (ValidateUserInput()) {
                $.ajax({
                    type: 'GET',
                    url: '@Url.Action("SearchResults", "Request")',
                    data: { searchTerm: $("#searchTerm").val(), searchFilter: $("#searchFilter").val() },
                    success: function (data) {
                        $('#Results').html(data);
                    }
                });
            }
        });
    });
    function ValidateUserInput() {
        if ($('#searchFilter').val() == 'RequestId' && $('#searchTerm').val() != parseInt($('#searchTerm').val())) {
            $('#HiddenInvalidInputContainer').show(); 
            return false;
        }
        else {
            alert('testing');
            $('#HiddenInvalidInputContainer').hide(); 
            return true;
        }
    }
</script>

有什么想法吗?

你总是得到 else 子句,因为这对于一个数字总是假

$('#searchTerm').val() != parseInt($('#searchTerm').val()

"1" != parseInt("1")是假的,"1" !== parseInt("1")是真的

如果您正在尝试测试非数字,那么您可以使用isNaN()