Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/04/2016, 13:02
JUMASOL
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: Validación de checkbox en formulario

Sí, tienes razón.

Ahora el código así:b

Código:
            <div class="container">
              <label for="priv" id="privacidad">Acepte política de privacidad (ver)</label>
              <input type="checkbox" name="priv" id="priv" value="<?php echo $formproc->SafeDisplay('priv') ?>" />	  
              <span id="contactus_priv_errorloc" class="error"></span>			  
            </div>
y el comprobador:

Código:
	frmvalidator.addValidation("priv","shouldselchk=true","Por favor acepte política de privacidad");
Funciona.

Pero ahora, no sé por qué razón, hay otro problema. El mensaje del captcha en caso de no ponerlo o ponerlo mal no aparece por culpa del anterior cambio.

Si no lo pones, el cursor se coloca en el input para meter el captcha como indicando que debes rellenarlo, pero sin avisar nada. Y luego si lo metes mal, no ocurre nada al pulsar, el curso sigue en el input del captcha, pero sin aviso.

No entiendo por qué falla ahora el aviso del captcha.

Y acabo de comprobar que es el código a continuación el que lo está estropeando de alguna manera:

Código:
            <div class="container">
              <label for="priv" id="privacidad">Acepte política de privacidad (ver)</label>
              <input type="checkbox" name="priv" id="priv" value="<?php echo $formproc->SafeDisplay('priv') ?>" />	  
              <span id="contactus_priv_errorloc" class="error"></span>			  
            </div>
Si lo elimino del html el aviso del captcha vuelve a funcionar.

El js es así:

Código:
    var frmvalidator  = new Validator("contactus");
    frmvalidator.EnableOnPageErrorDisplay();
    frmvalidator.EnableMsgsTogether();
    frmvalidator.addValidation("name","req","Please provide your name");
	
    frmvalidator.addValidation("email","req","Please provide your email address");
	
    frmvalidator.addValidation("email","email","Please provide a valid email address");

    frmvalidator.addValidation("message","maxlen=2048","The message is too long!(more than 2KB!)");

    frmvalidator.addValidation("adjuntar1","file_extn=jpg;jpeg;gif;png;bmp;doc;docx;pdf;txt","Upload images only. Supported file types are: jpg,gif,png,bmp");

    frmvalidator.addValidation("adjuntar2","file_extn=jpg;jpeg;gif;png;bmp;doc;docx;pdf;txt","Upload images only. Supported file types are: jpg,gif,png,bmp");


	frmvalidator.addValidation("priv","shouldselchk=true","Por favor acepte política de privacidad");  	
	
    frmvalidator.addValidation("scaptcha","req","Please enter the code in the image above");

    document.forms['contactus'].scaptcha.validator
      = new FG_CaptchaValidator(document.forms['contactus'].scaptcha,
                    document.images['scaptcha_img']);

    function SCaptcha_Validate()
    {
        return document.forms['contactus'].scaptcha.validator.validate();
    }

    frmvalidator.setAddnlValidationFunction("SCaptcha_Validate");

    function refresh_captcha_img()
    {
        var img = document.images['scaptcha_img'];
        img.src = img.src.substring(0,img.src.lastIndexOf("?")) + "?rand="+Math.random()*1000;
    }
He probado varias combinaciones sin resultado.