Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TeixeiraRamos

JavaScript não critica

Recommended Posts

Os campos Nome, Email se não for digitado (ou digitado fora dos padrões), Mensagem são criticados. Exceto o campo Assunto. O javascript estava criticando todos os campos inclusive se o campo opção/assunto etivesse marcado "Escolha uma Opção/Assunto". Tive que fazer algumas alterações a pedido da empresa de hospedagem e não sei onde alterei que somente o campos "Escolha uma Opção/Assunto" não é criticado. Se manter essa opção o e-mail segue, contrariando o que desejo, ou sejo, criticar e não permitir o envio caso se se escolha uma opção.

O javascript em contato.html está assim:

<script type="text/javascript">

//<![CDATA[

window.onload = function(){

id('form1').onsubmit = function(){

var erro = 0;

erro = !obr( 'Nome' ) ? erro+1 : erro;

erro = !obr( 'Email' ) ? erro+1 : erro;

erro = !obr( 'Assunto' ) ? erro+1 : erro;

erro = !obr( 'Mensagem' ) ? erro+1 : erro;

 

if( !checkMail( id('Email') ) )

 

{

 

alert( 'Digite um email válido!' );

 

return false;

}

 

if( erro>0 )

return false;

};

};

function obr( campo ){

if( id(campo).value=='' || id(campo).value==0 ){

alert( 'O campo '+campo+' é obrigatório!' );

return false;

 

}

else

return true;

 

}

function id( el ){

return document.getElementById( el );

}

function checkMail(mail){

var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

if(typeof(mail) == "string"){

if(er.test(mail)){

return true; }

}else if(typeof(mail) == "object"){

if(er.test(mail.value)){

return true;

}

}else{

return false;

}

}

//]]>

</script>

 

 

O formulário contato.html:

 

<form method="post" id="form1" action="sendmail.asp" name="Inputform"/>

<input type="hidden" name="email" value="carlos.teixeira@terra.com.br"/>

<table id="table">

<tbody>

<tr>

<td id="td" colspan="2">

<p class="p-top">Todas as mensagens serão lidas, analisadas e publicadas em seguida.<br />

Muito Obrigado.<br />

1 - Serão, automaticamente, descartados os comentários que contenham insultos, agressões e ofensas;<br/>

2 - que contenham qualquer espécie de anexo ou link, casos extremos contatar proprietário do site.</p>

</td>

</tr>

<tr>

<td id="td-nome"><span>Nome:</span></td>

<td><input type="text" name="name" id="Nome" size="60"/></td>

</tr>

<tr>

<td id="td-email"><span>email:</span></td>

<td><input type="text" name="mailfrom" id="Email" size="40"/></td>

</tr>

<tr>

<td id="td-opcao"><span>Opção/assunto:</span></td>

<td>

<select name="assunto" id="Assunto">

<option value="Escolha uma opção/assunto">Escolha uma opção/Assunto</option>

<option value="Política">Política</option>

<option value="Hobby">Hobby</option>

<option value="Informática">Informática</option>

<option value="Religião">Religião</option>

<option value="Pesquisa">Pesquisa</option>

<option value="Samba">Samba</option>

</select>

</td>

</tr>

<tr>

<td id="td-mensagem"><span>Comentários:</span></td>

<td>

<textarea name="mensagem" cols="80" rows="10" id="Mensagem"></textarea>

</td>

</tr>

<tr>

<td class="td-mensagem"><span> </span></td>

<td><input type="submit" name="Enviar" value="Enviar" />

<input type="reset" value="Cancelar" /></td>

</tr>

</tbody>

</table>

</form>

 

 

Por favor, onde estou errando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conheces Jslint, tenta que provavelmente se for um erro de marcação ele te informara e ainda te aconselha-rá algumas semânticas e marcação de fácil depuração uma vez que manutenção de código é a mais importante!!!

 

http://www.jslint.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.