Ir para conteúdo

POWERED BY:

Arquivado

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

SHWE12

Problema pra exibir JS no Firefox

Recommended Posts

Galera tenho um script de validação de campos, mas não consigo executar ele no firefox, enqto no IE ele executa normalmente...

<script language="JavaScript">
function validacampos(form1){
for (i=0;i<form1.length;i++){
var obg = form1[i].obrigatorio;
if (obg==1){
if (form1[i].value == ""){
var nome = form1[i].name
alert("O campo " + nome + " é obrigatório.")
form1[i].focus();
return false
}
}
}
return true
}
</script>

no form estou chamando OnSubmit = "return validacampos(this)

 

vlew.. abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

não surge nenhum erro, ele apenas nao valida o form, e envia os dados pro bd sem fazer a validação... segue ai o código do form...

 

<form action="alterar_produtos_form_db.php" method="post" enctype="multipart/form-data" name="form1" id="form1" onSubmit="return validacampos(this)">
	
	<table width="678" border="0" align="center" cellpadding="3" cellspacing="2" bgcolor="#F5F5F5" class="estilo_principal">
	<tr>
	<td colspan="6">
	<?
	$id=$_GET['id'];
	$consulta= "SELECT * FROM produto WHERE id=".$_GET['id']; 
	$retorno = mysql_query($consulta,$conexao);
	$campos = mysql_fetch_assoc($retorno);
	?></td>
	</tr>
	
	<tr>
	<td colspan="2">* Código Interno<br />
	<label>
	<input name="codigo_interno" type="text" class="estilo_principal" id="codigo_interno" value="<? echo $campos['codigo_interno']; ?>" size="40" obrigatorio="1" />
	</label></td>
	<td colspan="4">* Nome do Produto:
	<label><br>
	<input name="nome_produto" type="text" class="estilo_principal" id="nome_produto" value="<? echo $campos['nome_produto']; ?>" size="60" maxlength="80" obrigatorio="1" />
	</label></td>
	</tr>
	
	<tr>
	<td colspan="2">
	<label>* Marca/Autor<br />
	<input name="marca_autor" type="text" class="estilo_principal" id="marca_autor" value="<? echo $campos['marca_autor']; ?>" size="40" obrigatorio="1" />
	</label></td>
	<td colspan="2"><span class="estilo_principal_verm">*</span> Exibir na Página Inicial?<br />
	<label>
	<input name="exibir_inicial" type="radio" obrigatorio="1" class="estilo_principal" id="exibir_inicial" value="Sim" checked="checked" />
	Sim
	<input name="exibir_inicial" type="radio" obrigatorio="1" class="estilo_principal" id="exibir_inicial" value="Não" /> 
	Não
	</label></td>
	<td colspan="2">
	<a class="estilo_principal_verm">*</a> Exibir como Produto Especial?<br />
	<label>
	<input name="exibir_especial" type="radio" id="exibir_especial" value="Sim" checked="checked" /> 
	Sim
	</label>
	<label>
	<input type="radio" name="exibir_especial" id="exibir_especial" value="Não" /> 
	Não
	</label></td>
	</tr>
	
	<tr>
	<td width="107">* Valor: (00,00)<br />
	<label>
	<input name="valor" type="text" class="estilo_principal" id="valor" value="<? echo $campos['valor']; ?>" size="15" obrigatorio="1" />
	</label></td>
	<td width="114">
	<a class="estilo_principal_verm">*</a> Moeda:<br />
	<label>
	<select name="moeda" class="estilo_principal" id="moeda" obrigatorio="1">
	<option value="R$" selected="selected">R$</option>
	<option value="US$">US$ </option>
	</select>
	</label></td>
	<td width="85">Desconto:(%)<br />
	<label>
	<input name="desconto" type="text" class="estilo_principal" id="desconto" value="<? echo $campos['desconto']; ?>" size="10" />
	</label></td>
	<td width="63">Peso: (kg)<br />
	<label>
	<input name="peso" type="text" class="estilo_principal" id="peso" value="<? echo $campos['peso']; ?>" size="10" />
	</label></td>
	<td width="135">
	<a class="estilo_principal_verm">*</a> Prazo de Entrega:<br />
	<label>
	<input name="prazo_entrega1" type="text" class="estilo_principal" id="prazo_entrega1" size="3" obrigatorio="1" /> 
	<select name="prazo_entrega2" class="estilo_principal" id="prazo_entrega2">
	<option value="Dias">Dias</option>
	<option value="Horas">Horas</option>
	<option value="Semanas">Semanas</option>
	<option value="Meses">Meses</option>
	</select>
	</label></td>
	<td width="126">Estoque:<br />
	<label>
	<input name="estoque" type="text" class="estilo_principal" id="estoque" value="<? echo $campos['estoque']; ?>" size="10" />
	</label></td>
	</tr>
	
	<tr>
	<td>* CEP:<br />
	<label>
	<input name="cep" type="text" class="estilo_principal" id="cep" value="<? echo $campos['cep']; ?>" size="18" obrigatorio="1"/>
	</label></td>
	<td colspan="5">
	<a class="estilo_principal_verm">*</a> Frete Grátis:<br />
	<label>
	<input name="frete_gratis" type="radio" id="frete_gratis" value="Sim" />
	Sim
	</label>
	<label>
	<input name="frete_gratis" type="radio" id="frete_gratis" value="Não" checked="checked" />
	Não
	</label></td>
	</tr>
	
	<tr>
	<td colspan="3">Descrição da Localização:<br />
	<label>
	<textarea name="descricao_localizacao" cols="55" rows="5" class="estilo_principal" id="descricao_localizacao">
	<? echo $campos['descricao_localizacao']; ?>
	</textarea>
	</label></td>
	<td colspan="3">* Descrição do Produto:<br />
	<textarea name="descricao_produto" cols="55" rows="5" obrigatorio="1" class="estilo_principal" id="descricao_produto"><? echo $campos['descricao_produto']; ?>
	</textarea></td>
	</tr>
	
	<tr>
	<td colspan="6">Observação do Produto:<br />
	<label>
	<input name="observacao_produto" type="text" class="estilo_principal" id="observacao_produto" value="<? echo $campos['observacao_produto']; ?>" size="124" />
	</label></td>
	</tr>
	
	<tr>
	<td colspan="6">
	<a class="estilo_principal_verm">*</a> Texto do Botão: 
	<label>
	<input name="texto_botao" type="radio" id="texto_botao" value="Comprar" checked="checked" />
	Comprar</label>
	<label>
	<input type="radio" name="texto_botao" id="texto_botao" value="Esgotado" /> 
	Esgotado</label>
	<label>
	<input type="radio" name="texto_botao" id="texto_botao" value="Consultar" /> 
	Consultar</label>
	<label>
	<input type="radio" name="texto_botao" id="texto_botao" value="Orçamento" />
	Orçamento				  
	</label>
	<br /></td>
	</tr>
	
	<tr>
	<td colspan="6">
	<a class="estilo_principal_verm">*</a> O Produto está Disponível? 
	<label>
	<select name="disponivel" class="estilo_principal" id="disponivel" obrigatorio="1">
	<option value="Sim">Sim</option>
	<option value="Não">Não</option>
	</select>
	</label></td>
	</tr>
	
	<tr>
	<td colspan="6"> </td>
	</tr>
	
	<tr>
	<td colspan="6">
	<img src="../../images/line.jpg" width="670" height="1" /></td>
	</tr>
	
	<tr>
	<td colspan="6"> </td>
	</tr>
	
	<tr>
	<td colspan="3">Cadastrar Imagens do Produto:</td>
	<td colspan="3">Parcelamento do Produto:</td>
	</tr>
	
	<tr>
	<td colspan="3"> </td>
	<td colspan="3"> </td>
	</tr>
	
	<tr>
	<td colspan="3">
	<input name="foto" type="file" class="estilo_principal" id="foto" size="40"  /><br />
	<a class="estilo_principal"><? echo $campos['foto']; ?></a></td>
	<td colspan="3"> </td>
	</tr>
	
	<tr>
	<td colspan="3">
	<input name="foto2" type="file" class="estilo_principal" id="foto2" size="40"/><br />
	<a class="estilo_principal"><? echo $campos['foto2']; ?></a> </td>
	<td colspan="3"> </td>
	</tr>
	
	<tr>
	<td colspan="3">
	<input name="foto3" type="file" class="estilo_principal" id="foto3" size="40"/><br />
	<a class="estilo_principal"><? echo $campos['foto3']; ?></a> </td>
	<td colspan="3"> </td>
	</tr>
	
	<tr>
	<td colspan="3"><input name="foto4" type="file" class="estilo_principal" id="foto4" size="40" /><br />
	<a class="estilo_principal"><? echo $campos['foto4']; ?></a> </td>
	<td colspan="3"> </td>
	</tr>
	
	<tr>
	<td colspan="6"> </td>
	</tr>
	
	<tr>
	<td colspan="6">
	<label>
	<input name="enviar" type="submit" class="estilo_principal" id="enviar" value="Alterar Produto" />
	</label></td>
	</tr>
	
	<tr>
	<td colspan="6">
	<img src="../../images/line.jpg" alt="" width="670" height="1" /></td>
	</tr>
	
	<tr>
	<td colspan="6"> </td>
	</tr>
	</table>
	</form>

 

vlw... abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse atributo obrigatório você que criou, por isso deve estar dando erro no FF. Crie um stilo em css chamado obrigatório, e defina os mesmos atributos de class="estilo_principal" para ele. Nos campos obrigatórios coloque class="obrigatorio". Na função JavaScript, altere o code:

var obg = form1[i].obrigatorio;
			if (obg == 1) {

Para...

if (form1[i].className == "obrigatorio") {

Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou use um getAttribute(). http://developer.mozilla.org/en/docs/DOM:e...nt.getAttribute

Apesar de não ser um atributo válido no (x)html, ele vai pegar. Mas faça como foi dito que é melhor e o seu código ficará mais limpo e sem erros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script language="JavaScript">
function validacampos(form1){
for (i=0;i<form1.length;i++){
var obg = form1[i].obrigatorio;
			if (obg == 1) {
if (form1[i].className == "obrigatorio") {{
var nome = form1[i].name
alert("O campo " + nome + " é obrigatório.")
form1[i].focus();
return false
}
}
}
return true
}
</script>

 

<form action="cadastrar_produtos_db.php" method="post" enctype="multipart/form-data" name="form1" id="form1" onSubmit="return validacampos(this)">
			<table width="678" border="0" align="center" cellpadding="3" cellspacing="2" bgcolor="#F5F5F5" class="estilo_principal">
			  <tr>
				<td colspan="6"> </td>
				</tr>
			  <tr>
				<td colspan="2">* Código Interno<br />
				  <label>
				  <input name="codigo_interno" type="text" class="obrigatorio" id="codigo_interno" size="40" />
				  </label></td>
				<td colspan="3">* Nome do Produto:
				  <label> <br />
				  <input name="nome_produto" type="text" class="obrigatorio" id="nome_produto" size="50" maxlength="80" />
				  </label></td>
				<td>Categoria:<br />...........

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você ainda está errado no código. Está errado a parte que o Gutto postou.

A que eu postei? Tá errado a forma como ele fez, que é diferente do que sugeri.

 

Tem que tirar esse obrigatorio do javascript e deixar apenas o if do class.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, não o que você postou. O que eu escrevi que ficou estranho para entender. =P Eu quis dizer que no script dele continua errado a parte que você postou alertando.

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.