jquery - 如何验证至少一个输入文本被填充

时间:2014-10-03 05:23:05

标签: jquery validation

这是我的表单代码

<form action="http://localhost/package/insert" accept-charset="utf-8" name="frmAdd" id="frmAdd" method="POST" enctype="multipart/form-data">
            <input type="radio" name="type" id="type_single" value="single" style="float:left">
            <span style="float:left;margin-right:30px;">Single</span>

            <span id="val-type" class="tooltips">Type is required!</span>

            <input type="text" name="single" id="single" />
            <span id="val-single" class="tooltips">Single is required!</span>
            - OR -
            <input type="file" name="single_list">
            <span id="val-single_list" class="tooltips">Single is required!</span>
    </form>

frmAdd 功能:

$(document).ready(function() {

  $('#frmAdd').ajaxForm({
    target: "#targetForm",
    type: "POST",
    dataType: "json",
    beforeSubmit: function() {
      return checkForm();
    }
  });
});

这是我的 checkForm()功能

function checkForm() {
    var flag = true;

    if (!$('input:radio:checked').length > 0) {
        $("#val-type").fadeIn('slow');
        flag = false;
    }

    if ($("#type_single").is(':checked')) {
        var single_val = $("#single").val();
        single_list_val = $("#single_list").val();

        if (single_val == '' && $.trim(single_val == '')) {
            $("#val-single").fadeIn('slow');
            flag = false;
        }
    }    

    if (flag == false) {
        setTimeout(function() {
            $('.tooltips').fadeOut('slow');
        }, 3000);
        return false;
    }

    return true;
}

这一部分:

<input type="text" name="single" id="single" />
<span id="val-single" class="tooltips">Single is required!</span>
- OR -
<input type="file" name="single_list">
<span id="val-single_list" class="tooltips">Single is required!</span>

如何验证至少如果其中一个输入文本被填充表单是有效的,我不想使用任何jquery插件来执行此操作。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

if($('input[type=text]').filter(function(){ return $(this).val(); }).length != 0){
  // at least one is filled
}

答案 1 :(得分:0)

您可以将以下内容添加到验证功能中:

if (!($('input[name="single"]').val() || $('input[name="single_list"]').val())) {
    flag = false;
}