如何验证三个字段,使其中一个始终具有值



我有以下三个字段:

1号字段:

<input class="emailrequerido" name="emailrecomendado1_<?php echo $patrocinado->idpatroc; ?>" id="emailrecomendado1_<?php echo $patrocinado->idpatroc; ?>" placeholder="user@domain.com" type="text" />

第二场:

<select name="contactos<?php echo $patrocinado->idpatroc; ?>[]" id="contactos<?php echo $patrocinado->idpatroc; ?>" multiple="3" style="width:49%" class="contactorequerido">

第三场:

<select name="grupos<?php echo $patrocinado->idpatroc; ?>[]" id="grupos<?php echo $patrocinado->idpatroc; ?>" multiple="3" style="width:49%" class="gruporequerido">
<<p> 提交字段/strong>:
<input id="enviarForm" type="submit" class="uk-button uk-float-right" value="<?php echo JText::_('COM_CSTUDOMUS_PATROCINADOR_SEND_RECOM');?>"/>

在允许提交之前,我需要始终有三个字段中的一个带有值。

我已经试过了:

 $("#enviarForm").click(function() {
    if($(".emailrequerido").val() == false){
        $('.contactorequerido').attr('required', true);
        $('.gruporequerido').attr('required', true);
    }else if($(".contactorequerido option:selected").val() == false){
        $('.emailrequerido').attr('required',true);
        $('.gruporequerido').attr('required',true);
    }else if($(".gruporequerido option:selected").val() == false){
        $('.emailrequerido').attr('required',true);
        $('.contactorequerido').attr('required',true);
    }
    if($(".emailrequerido").val() == true){
        $('.contactorequerido').removeAttr('required');
        $('.gruporequerido').removeAttr('required');
    }else if($(".contactorequerido option:selected").val() == true){
        $('.emailrequerido').removeAttr('required');
        $('.gruporequerido').removeAttr('required');
    }else if($(".gruporequerido option:selected").val() == true){
        $('.emailrequerido').removeAttr('required');
        $('.contactorequerido').removeAttr('required');
    }
})
$(document).ready(function(){
// Disallow submission here initially ...
$(":input").bind("keyup change", function(e) {
var comboVal = $('.emailrequerido').val()+$('.contactorequerido').val()+$('.gruporequerido').val();
    if(comboVal == 'nullnull'){
      // Don't allow!!! May disable or hide submission button
    } else {
      // Allow :D 
    }
});
});

你可以这样做:

$("#enviarForm").click(function() {
    if($('[id^="emailrecomendado1_"]').val() == "" || 
       $('[id^="contactos"]').val() == "" || 
       $('[id^="grupos"]').val() == ""){
      alert('one field required.');
    }
});

给它们都设置相同的类,例如req。然后:

$('#enviarForm').submit(function(){
  return $('.req').filter(function(){return $(this).val();}).length > 0;
});

试试这个——可能会有帮助。但不确定…

$("#enviarForm").click(function(e) {
    e.preventDefault();
    var error=0;
    if($(".emailrequerido").val() == false){
        $('.contactorequerido').attr('required', true);
        $('.gruporequerido').attr('required', true);
        error++;
    }
    if($(".contactorequerido option:selected").val() == false){
        $('.emailrequerido').attr('required',true);
        $('.gruporequerido').attr('required',true);
         error++;
    }
    if($(".gruporequerido option:selected").val() == false){
        $('.emailrequerido').attr('required',true);
        $('.contactorequerido').attr('required',true);
          error++;
    }
    if($(".emailrequerido").val() == true){
        $('.contactorequerido').removeAttr('required');
        $('.gruporequerido').removeAttr('required');
    }
    if($(".contactorequerido option:selected").val() == true){
        $('.emailrequerido').removeAttr('required');
        $('.gruporequerido').removeAttr('required');
    }
    if($(".gruporequerido option:selected").val() == true){
        $('.emailrequerido').removeAttr('required');
        $('.contactorequerido').removeAttr('required');
    }
    if(error==0){
        ("#formid").submit();
    }
});

最新更新