Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/07/2013, 10:53
Avatar de Evair_Peterson
Evair_Peterson
 
Fecha de Ingreso: enero-2013
Mensajes: 14
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Desvío de retorno de validación PHP al value de un input?

Aqui sigue el codigo que se me olvide de pegar para que lo puedan comprender mejor...

Código HTML:
<form method="post" action="PHP/frmRegister.php" id="frmRegister" name="frmRegister" accept-charset="utf-8">
        <label>
        <header>
          <h2>Registre-se grátis!</h2>
        </header>
        </label>
        <input type="text" class="frmRegisterText" maxlength="20"  value="Nome de usuário" id="frmRegisterUN" name="frmRegisterUN"
          onfocus="if (this.value=='Nome de usuário') {this.value = ''; this.style.color='#303030'; this.style.backgroundColor='#FFFFFF';}"
          onblur="if (this.value=='') {this.value = 'Nome de usuário'; this.style.color='#C0C0C0';}" />
        <input type="text" class="frmRegisterText" value="Informe seu e-mail" id="frmRegisterEM" name="frmRegisterEM"
          onfocus="if (this.value=='Informe seu e-mail') {this.value = ''; this.style.color='#303030'; this.style.backgroundColor='#FFFFFF';}"
          onblur="if (this.value=='') {this.value = 'Informe seu e-mail'; this.style.color='#C0C0C0';}" />
        <input type="text" class="frmRegisterText" value="Confirme seu e-mail" id="frmRegisterEM2" name="frmRegisterEM2" onKeyDown="return frmRegisterValidateBlock (event)"
          onfocus="if (this.value=='Confirme seu e-mail') {this.value = ''; this.style.color='#303030'; this.style.backgroundColor='#FFFFFF';}"
          onblur="if (this.value=='') {this.value = 'Confirme seu e-mail'; this.style.color='#C0C0C0';}" />
        <input type="text" class="frmRegisterText" value="Digite uma senha"  id="frmRegisterPW" name="frmRegisterPW"
          onfocus="if (this.value=='Digite uma senha') {this.value = ''; this.style.color='#303030'; this.style.backgroundColor='#FFFFFF';
          this.style.fontSize='30px'; this.type='password'; this.style.letterSpacing='3px';}"
          onblur="if (this.value=='') {this.value = 'Digite uma senha'; this.style.color='#C0C0C0'; this.style.fontSize='18px'; this.type='text'; this.style.letterSpacing='1px';}" />
        <input type="text" class="frmRegisterText" value="Confirme sua senha"  id="frmRegisterPW2" name="frmRegisterPW2"onKeyDown="return frmRegisterValidateBlock (event)"
					onfocus="if (this.value=='Confirme sua senha') {this.value = ''; this.style.color='#303030'; this.style.backgroundColor='#FFFFFF';
          this.style.fontSize='30px'; this.type='password'; this.style.letterSpacing='3px';}"
          onblur="if (this.value=='') {this.value = 'Confirme sua senha'; this.style.color='#C0C0C0'; this.style.fontSize='18px'; this.type='text'; this.style.letterSpacing='1px';}" />
        <select id="frmRegisterCO" name="frmRegisterCO"
          onfocus="{this.style.color='#303030'; this.style.backgroundColor='#FFFFFF';}"
          onBlur="if (document.getElementById('frmRegisterCountry').value=='Select') {this.style.color='#C0C0C0';}">
          <option selected value="Select">Selecione seu país</option>
          <option disabled></option>
          <option value="af">Afeganistão</option>
          <option value="za">África do Sul</option>
          <option value="al">Albânia</option>
          <option value="de">Alemanha</option>
          <option value="ad">Andorra</option>
          <option value="ao">Angola</option>
          <option value="ag">Antígua e Barbuda</option>
          <option value="sa">Arábia Saudita</option>
          <option value="dz">Argélia</option>
          <option value="ar">Argentina</option>
          <option value="am">Armênia</option>
          <option value="au">Austrália</option>
          <option value="at">Áustria</option>
          <option value="az">Azerbaidjão</option>
          <option value="bs">Bahamas</option>
          <option value="bd">Bangladesh</option>
          <option value="bb">Barbados</option>
          <option value="bh">Barein</option>
          <option value="by">Belarus</option>
          <option value="be">Bélgica</option>
          <option value="bz">Belize</option>
          <option value="bj">Benin</option>
          <option value="bo">Bolívia</option>
          <option value="ba">Bósnia-Herzegóvina</option>
          <option value="bw">Botsuana</option>
          <option value="br">Brasil</option>
          <option value="bn">Brunei</option>
          <option value="bg">Bulgária</option>
          <option value="bf">Burkina Faso</option>
          <option value="bi">Burundi</option>
          <option value="bt">Butão</option>
          <option value="...">LOS OTROS PAÍSES</option>
        </select>
        <label>
        <h5>Ao clicar no botão REGISTRAR você declara que leu, entendeu e aceita nossos
          <a href="#">Termos e condições</a>
          e a nossa
          <a href="#">Política de privacidade</a>
          .</h5>
        </label>
        <input type="text" id="frmRegisterError" value="" />
        <input type="button" value="REGISTRAR" id="frmRegister_Button" onClick="frmRegisterValidate ()"/>
      </form> 
Cita:
function frmRegisterValidate (){
var frmRegisterError = document.getElementById("frmRegisterError");
var frmRegisterUN = document.getElementById("frmRegisterUN").value;
var frmRegisterUNSp = frmRegisterUN.indexOf (' ');
var frmRegisterEM = document.getElementById("frmRegisterEM").value;
var frmRegisterEMAt = frmRegisterEM.indexOf ('@');
var frmRegisterEMDot = frmRegisterEM.lastIndexOf ('.');
var frmRegisterEMDom = frmRegisterEM.substring (frmRegisterEMDot).length;
var frmRegisterEM2 = document.getElementById("frmRegisterEM2").value;
var frmRegisterPW = document.getElementById("frmRegisterPW").value;
var frmRegisterPW2 = document.getElementById("frmRegisterPW2").value;
var frmRegisterCO = document.getElementById("frmRegisterCO").value;

if (frmRegisterUN == "Nome de usuário")
{
frmRegisterError.value = "Digite um nome de usuário";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterUN.length < 5 || frmRegisterUN.length > 20)
{
frmRegisterError.value = "Seu nome de usuário deve conter de 5 à 20 caracteres";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterUNSp > -1)
{
frmRegisterError.value = "Seu nome de usuário não pode conter espaços";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterEM == "Informe seu e-mail")
{
frmRegisterError.value = "Informe um e-mail para registro";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterEMAt < 1 || frmRegisterEMDot < 3 || frmRegisterEMAt > frmRegisterEMDot || [frmRegisterEMDot - frmRegisterEMAt] < 2 || frmRegisterEMDom <2 || frmRegisterEM.length < 5 || frmRegisterEM.length > 75)
{
frmRegisterError.value = "O e-mail informado é inválido";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterEM2 == "Confirme seu e-mail")
{
frmRegisterError.value = "Digite novamente seu endereço de e-mail";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterEM != frmRegisterEM2)
{
frmRegisterError.value = "Os e-mails informados não conferem";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterPW == "Digite uma senha")
{
frmRegisterError.value = "Digite uma senha";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterPW.length < 6 || frmRegisterPW.length > 15)
{
frmRegisterError.value = "A senha deve ter entre 6 e 15 caracteres";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterPW2 == "Confirme sua senha")
{
frmRegisterError.value = "Digite novamente sua senha";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterPW != frmRegisterPW2)
{
frmRegisterError.value = "As senhas informadas não conferem";
frmRegisterValidateError ();
return false;
}
else if (frmRegisterCO == "Select")
{
frmRegisterError.value = "Selecione seu país";
frmRegisterValidateError ();
return false;
}
document.getElementById("frmRegister").submit();
}

function frmRegisterValidateError () {
document.getElementById("frmRegisterCO").style.mar ginBottom = "10px";
document.getElementById("frmRegisterError").style. visibility = "visible";
document.getElementById("frmRegisterError").style. height = "20px";
}

function frmRegisterValidateBlock (evt)
{
var ctrl=window.event.ctrlKey;
var tecla=window.event.keyCode;
if (ctrl && tecla==86)
{
event.keyCode=0; event.returnValue=false;
// Incrementar código com bloqueio ao botão direito
}
}
La función function frmRegisterValidateError () del archivo JS esta porque frmRegisterError con visibility=hidden en la CSS, y solo se muestra cuando hay esos mensajes de error generados en la validación.


Gracias, Evair.