我正在使用Thymeleaf + HTML 5.在搜索页面中,它有大约40个字段的文本,列表和复选框字段。下面是我的代码,用于检查是否填写了至少一个字段。
$(document).ready(function() {
searchActionURL = function(obj) {
var atleastOneFilled = checkFields($("#searchForm"));
if(atleastOneFilled)
{
$("#searchForm").attr("action", obj);
$("#searchResults").show();
}
else
{
alert('Please specify atleast one search item');
}
}
searchActionURL();
function checkFields(form) {
var checks_radios = form.find(':checkbox, :radio');
var inputs = form.find(':input').not(checks_radios).not('[type="submit"],[type="button"],[type="reset"]');
var checked = checks_radios.filter(':checked');
var filled = inputs.filter(function(){
return $.trim($(this).val()).length > 0;
});
if(checked.length + filled.length === 0) {
return false;
}
return true;
}
}
我有一个隐藏的csrf标记字段,它永远不会从表单中清除。那么如何将csrf令牌隐藏字段的异常添加到我的代码中。这样我就可以验证用户是否输入了至少一个搜索条件。我的当前代码总是说有一个字段(指向隐藏的csrf字段),即使我清除了表单中的所有字段。任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
我修改了代码以排除隐藏字段。
var inputs = form.find(':input').not(checks_radios).not('[type="submit"],[type="button"],[type="reset"],[type="hidden"]');