我正在使用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()
关于javascript - jQuery ajax调用按钮单击验证不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28136275/