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

时间:2015-01-25 12:17:33

标签: javascript jquery ajax

我正在使用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>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你总是得到else子句,因为对于数字

,这总是假的
$('#searchTerm').val() != parseInt($('#searchTerm').val()

"1" != parseInt("1")为false,"1" !== parseInt("1")为真

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