我有一个带有表单的模态弹出窗口,我可以设置基本的验证码但是我不确定如何去做我需要的。
我有2个输入<textarea>
和<input type="file">
用于图片上传。
我想检查一下它们中至少有一个是有效的。
一个例子是......
1)用户在文本区域添加描述但没有图像//this is fine and file upload not required
2)用户添加文件但不添加说明//this is fine and textarea not required
3)用户不添加,并提示填写其中一个。
提前致谢。
答案 0 :(得分:0)
这是一个fiddle,用来举例说明问题背后的一些简单逻辑。
$('#validate').click(function(){
var text = false;
var file = false;
if ( $('textarea').val() != '' )
text = true;
if ( $('input').val() != '' )
file = true;
if ( !text && !file )
alert ('Woah! Enter one of those!');
else
alert('I can live with one input');
});
在click
或submit
或您选择的任何事件上,查看textarea的值和文件输入。如果值为false,则表示该字段为“无效”。如果您发现两个字段都“无效”,则提示您的用户输入其中一个字段。否则,您有“有效”输入,可以继续执行其他操作。
请务必使用正确的选择器应用于您的代码。
答案 1 :(得分:0)
HTML
<input type="file" id="text" />
<textarea id="textarea"></textarea>
<input type="button" value="ok" id="ok" />
的Javascript
$(function() {
$("#ok").click(function() {
var $text = $("#text");
var $textarea = $("#textarea");
if ($text.val() == "" && $textarea.val() == "") {
alert("fill at least one");
}
});
});
这里是完整的小提琴:https://jsfiddle.net/erpvfdhf/3/
这里还有一个使用jQuery Validator的例子:jQuery Validation - Two fields, only required to fill in one