Jump to content


Photo

Javascrip + Firefox - Problemas


  • Faça o login para participar
4 replies to this topic

#1 njr

njr

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado
  • Localidade:MG

Posted 30/11/2009, 21:56

Pessoal,

fiz um formulário em HTML para envio de e-mail direto do site. Coloquei um script em JavaScrip para validar se o usuário preencheu determinados campos.

Essa validação está funcionando no IE e no Chrome. Mas no Firefox ela passa direto e envia o formulário, mesmo com os campos vazios.

Alguém pode me ajudar a identificar o problema?

Agradeço desde já.

Segue o código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contato (Simulador de Autômatos)</title>

<style type="text/css">
<!--
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10pt;
	color: #333;
}
span.required{
	font-size: 13px;
	color: red;
	font-weight: bold;
}
-->
</style>

</head>
<body>

<script language="Javascript">
function validar(form)
{ 
	nome = document.q_form_93331150948.q0_Nome.value; // verifica o campo nome
	if (nome == "") { // verifica se o campo nome está vazio
		document.q_form_93331150948.msg.value = "O campo NOME é obrigatório"; // mensagem exibida se o campo não for preenchido
		q_form_93331150948.q0_Nome.focus(); // coloque esse linha no script fazendo referência ao formulário e ao campo com foco //
		return false;
	}

	email = document.q_form_93331150948.q1_Email.value; // verifica o campo e-mail
	if (email == "") {
		document.q_form_93331150948.msg.value = "O campo E-MAIL é obrigatório";
		q_form_93331150948.q1_Email.focus(); 
		return false;
	}else{		
		var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);  
		if(typeof(email)=="string")
		{   
			if(!er.test(email))
		    {
		    	document.q_form_93331150948.msg.value = "O e-mail digitado NÃO é válido";
				q_form_93331150948.q1_Email.focus();
				return false;
			}
		}				
	}

	mensagem = document.q_form_93331150948.q9_Assunto.value;	
	if (mensagem == "") {
		document.q_form_93331150948.msg.value = "O campo ASSUNTO é obrigatório";
		q_form_93331150948.q9_Assunto.focus();
		return false;
	}

	mensagem = document.q_form_93331150948.q6_Mensagem.value;	
	if (mensagem == "") {
		document.q_form_93331150948.msg.value = "O campo MENSAGEM é obrigatório";
		q_form_93331150948.q6_Mensagem.focus();
		return false;
	}
}
</script>

<form accept-charset="utf-8"  action="http://jotform.com/submit.php"  method="post" name="q_form_93331150948" onSubmit="return validar(this)"> 
<input type="hidden" name="formID" value="93331150948" /> 
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>     
      <td valign="bottom">Nome: <span class="required">*</span></td>
    </tr>
    <tr>
      <td height="30" valign="middle"> <input type="text" size="40" name="q0_Nome" class="text" value="" id="q0"/></td>
    </tr>
    <tr>
      <td height="30" valign="bottom">E-mail: <span class="required">*</span></td>
    </tr>
    <tr>
      <td height="30" valign="middle"><input type="text" size="40" name="q1_Email" class="text" value="" id="q1" /></td>
    </tr>
    <tr>
      <td height="30" valign="bottom">Instituição de ensino:</td>
    </tr>
    <tr>
      <td height="30" valign="middle"><input type="text" size="40" name="q2_Instituiodeensino" class="text" value="" id="q2"/></td>
    </tr>
    <tr>
      <td height="30" valign="bottom">Cidade:</td>
    </tr>
    <tr>
      <td height="30" valign="middle"> <input type="text" size="40" name="q8_Cidade" class="text" value="" id="q8"/></td>
    </tr>
    <tr>
      <td height="30" valign="bottom">Assunto: <span class="required">*</span></td>
    </tr>
    <tr>
      <td height="30" valign="middle"> <input type="text" size="40" name="q9_Assunto" class="text" value="" id="q9" /></td>
    </tr>
    <tr>
      <td height="30" valign="bottom">Mensagem: <span class="required">*</span></td>
    </tr>
    <tr>
      <td height="30" valign="middle"><label>
        <textarea cols="32" rows="8" name="q6_Mensagem" class="text" id="q6"></textarea>
      </label></td>
    </tr>
    <tr>
      <td height="50" valign="middle"><input type="submit" class="btn" value="Enviar" />
      <input name="msg" type="text" size="30" readonly="readonly" style="border-width: 0; color:#F00" /></td>
    </tr>
  </table>
</FORM>
</body>
</html>

Simulador de Autômatos: www.simuladordeautomatos.com - Excelente ferramenta para auxílio ao aprendizado de Linguagens Formais e Autômatos (Teoria da computação)

#2 offspring

offspring

    O_o

  • Ex-Admins
  • 946 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 01/12/2009, 09:03

<input type="text" size="40" name="q0_Nome" class="text" value="" id="q0"/>

Deixe os campos com o mesmo nome... name="q0_Nome"

#3 njr

njr

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado
  • Localidade:MG

Posted 01/12/2009, 16:17

<input type="text" size="40" name="q0_Nome" class="text" value="" id="q0"/>

Deixe os campos com o mesmo nome... name="q0_Nome"

Cara, não entendi. Como assim?
Obrigado.
Simulador de Autômatos: www.simuladordeautomatos.com - Excelente ferramenta para auxílio ao aprendizado de Linguagens Formais e Autômatos (Teoria da computação)

#4 offspring

offspring

    O_o

  • Ex-Admins
  • 946 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 01/12/2009, 16:26


<input type="text" size="40" name="q0_Nome" class="text" value="" id="q0"/>

Deixe os campos com o mesmo nome... name="q0_Nome"

Cara, não entendi. Como assim?
Obrigado.


<input type="text" size="40" name="q0_Nome" class="text" value="" id="q0_Nome" />

O Firefox faz uso do elemento ID

#5 njr

njr

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado
  • Localidade:MG

Posted 01/12/2009, 17:22



<input type="text" size="40" name="q0_Nome" class="text" value="" id="q0"/>

Deixe os campos com o mesmo nome... name="q0_Nome"

Cara, não entendi. Como assim?
Obrigado.


<input type="text" size="40" name="q0_Nome" class="text" value="" id="q0_Nome" />

O Firefox faz uso do elemento ID

Fiz as alterações que você citou, mas mesmo assim no Firefox o formulário é enviado mesmo com os campos em branco.
Algo mais que eu possa mexer no código?
Obrigado!
Simulador de Autômatos: www.simuladordeautomatos.com - Excelente ferramenta para auxílio ao aprendizado de Linguagens Formais e Autômatos (Teoria da computação)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq