【发布时间】:2014-07-10 09:22:33
【问题描述】:
我正在开发以下 jQuery 表单验证脚本。
我希望在提交按钮可点击之前验证某些输入字段是否已填充。我的 validateFileInput 函数中的第二个条件似乎有问题
/* Validate File Size */
var validateFileInput = function() {
if ($('#fileField')[0].files.length > 0 || $('#defImage').val().length > 0 ) {
return true;
}
}
var validate = function(){
if ($('#campaign_name').val().length > 0 &&
$('#headline_area').val().length > 0 &&
$('#description_area').val().length > 0 &&
validateFileInput() ) {
$("input[type=submit]").prop("disabled", false);
}
else {
$("input[type=submit]").prop("disabled", true);
}
}
$(document).ready(function () {
validate();
$('#new_campaign').on( 'change', ':input', function (e){
e.preventDefault();
validate();
console.log('I just validated');
});
});
所以这行似乎是当条件满足时提交按钮仍然无法点击的问题:
$('#defImage').val().length > 0
如果我在添加文件后在控制台中运行它,它会输出为 true,所以我不确定为什么这不起作用。
编辑
第二个文件字段的 html 如下所示:
<a data-remote="true" data-target=".our-images" data-toggle="modal" href="/default_images" id="image-default-button">Use one of ours</a>
<input id="defImage" name="campaign[default_image_id]" type="hidden" />
我正在使用 Ajax 请求获取图像,然后将图像的 id 传递给隐藏字段#defImage,然后它将给我
<input id="defImage" name="campaign[default_image_id]" type="hidden" value="3" />
我是否在验证过程中处理了这个错误?
我创建了一个jsfiddle,但是当输入类型设置为文件时,这一切都有效。
【问题讨论】:
-
你能把你的代码弄乱吗..
标签: jquery ruby-on-rails ruby forms validation