Autor Zpráva
Musilda
Profil
Zdravím

potřebuji poradit. Než mne začnete kamenovat, vím, že to tu bylo asi mockrát, ale opravdu jsem zkoušel hledat, i knihu jsem si otevřel, ale zřejmě dělám nějakou drobnou chybu, na kterou nemohu přijít.
Kód funkce:
function checkForm(form){  
  var vasemail = form.vas-email.value;

  if ( vasemail == 'váš e-mail'){
    alert('Není vyplněn e-mail');
    return false;
    }
  if ( vasemail == ''){
    alert('Není vyplněn e-mail');
    return false;
    }
  
  
}

Kód formuláře:
<form id="login" name="logina" method="post" action="?registrace" onsubmit="return checkForm(this)">
        <input type="text" size="10" name="login-email" value="váš e-mail" onfocus="if(this.value==this.defaultValue){this.value=''};this.style.color='black'"
 onblur="if(this.value==''){this.value=this.defaultValue;this.style.color='#c8c8c8'}" />
        <input type="password" size="10" name="login-password" value="vaše heslo" onfocus="if(this.value==this.defaultValue){this.value=''};this.style.color='black'"
 onblur="if(this.value==''){this.value=this.defaultValue;this.style.color='#c8c8c8'}" />
       <button><img src="/img/login_button.png" alt="" /></button>
      </form>


Díky za každou pomoc.
Joker
Profil
Musilda:
To políčko se nejmenuje vas-email, ale login-email.

Krom toho:
  if ( vasemail == 'váš e-mail'){
    alert('Není vyplněn e-mail');
    return false;
    }
  if ( vasemail == ''){
    alert('Není vyplněn e-mail');
    return false;
    }
Což takhle logické operátory?

  if ((vasemail == 'váš e-mail') || ( vasemail == '')){
    alert('Není vyplněn e-mail');
    return false;
    }
Witiko
Profil
Musilda:
Pomlčku v form.vas-email.value je nutné dostat do řetězce, javascript ji bere jako znak mínusu. Jinak bych použil syntax element.defaultValue místo 'váš e-mail'. Nějak takto:

function checkForm(form){  
  var element = form["login-email"];
  if(!element.value || element.value === element.defaultValue)
    return !!alert("Není vyplněn e-mail");
}
Musilda
Profil
Joker:
S tím vas-email jsem se upsal, protože jsem zkoušel již několikátou variantu funkce.


Witiko:
Díky bylo to tím mínus.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: