我正在使用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>
有什么想法吗?
答案 0 :(得分:1)
你总是得到else子句,因为对于数字
,这总是假的$('#searchTerm').val() != parseInt($('#searchTerm').val()
"1" != parseInt("1")
为false,"1" !== parseInt("1")
为真
如果您尝试测试非数字,那么您可以使用isNaN()