Ir para conteúdo

POWERED BY:

Arquivado

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

Scientist

Importando arquivo.js em HTML

Recommended Posts

Bom, estou tentando fazer um arquivo geral que servirá de validação para qualquer tipo de formulário do meu site. Este é o arquivo:

 


//Este documento é responsável por fazer validações nos formulários HTML

function VerificarCamposVazios(form){
 for (i=0;i<form.length; i++){
	var obj = form[i].obrigatorio;
	if (obj==1){
		if (form[i].value == ""){
			var nome = form[i].name;
			alert("O campo "+ nome + " é obrigatório.");
			form[i].focus();
			return false;
		}
	}
 }
 return true;
}

 

 

Na minha pagina do formulario faço o seguinte:

 

<?php
if($_GET['acao'] == "editar"){
require_once "dao_categoria.php";
require_once "pojo_categoria.php"; 

$dao = new DaoCategoria();
$pojo = $dao->BuscarPorCOD($_GET['cod_categoria']); 
}
?>

<!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" />

<script language="javascript" src="../../formulario.js"></script>

<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="index.php?pg=categoria/cad_categoria_persist" onSubmit="return VerificarCamposVazios(this);" onReset="javascript:history.back()">
 <table width="265" height="180" border="0" align="center" cellpadding="4">
   <tr>
     <td><h4>Cadastro/Alterações de Categoria</h4></td>
   </tr>
   <tr>
     <td>Categoria*<br />

       <label>
         <input style="text-transform:uppercase" obrigatorio="1" value="<?php if(isset($pojo)){ echo $pojo->getNome(); } ?>" type="text" name="nome" id="nome" />
       </label>
     </p></td>
   </tr>
   <tr>
     <td>Descrição<br />

       <label>
         <textarea  name="descricao" cols="50" rows="5" id="descricao"><?php if(isset($pojo)){ echo $pojo->getDescricao(); } ?></textarea>
       </label>
     </p></td>
   </tr>
   <tr>
     <td><label>
       <input type="submit" name="salvar" id="salvar" value="Enviar" />
     </label>
       <label>
         <input type="reset" name="cancelar" id="cancelar" value="Cancelar" />
         <input name="acao" type="hidden" id="acao" value="<?php echo $_GET['acao']; ?>" />
         <input name="cod" type="hidden" id="cod" value="<?php if (isset($_GET['cod_categoria'])) { echo $_GET['cod_categoria']; } ?>"/>
     </label></td>
   </tr>
 </table>
</form>
</body>
</html>

 

 

Porém, se eu deixar algo em branco que é obrigatório simplesmente não mostra o alert.

 

Tem algo de errado no codigo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um IF perdido ai... deixa assim:

 

function VerificarCamposVazios(form){
for (i=0;i<form.length; i++){
	if (form[i].value == ""){
		var nome = form[i].name;
		alert("O campo "+ nome + " é obrigatório.");
		form[i].focus();
		return false;
	}
}
return true;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais tem um problema Ted, eu preciso apenas verificar os campos que são obrigatórios, neste seu caso está verificando todos ! Como eu faço ?

 

alguma dica ?

 

Alguem ? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque uma class nos obrigatorios, e só verifique aqueles que tiverem essa class.

 

um simples if, e você resolve isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

if (form[i].value == "" && form[i].className=='obrigatorio'){

algo do tipo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu faria assim no input ?

 

<input type="text" name="email" class="obrigatorio"/>

 

ae no javascript eu faria a consulta

 

 if (form[i].value == "" && form.class=='obrigatorio'){ 

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mas usando .className conforme demonstrei.

 

não pergunte. Teste.

Não peça exemplos, procure.

 

só assim você vai aprender. Volte com dúvidas, mas somente depois de testar.

e de ter verificado no console de erros.

 

dessa forma você irá resolver muito mais rápido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

debugue.. aperte Ctrl+Shift+J no Firefox, verifique os erros, corrija.

 

se não tiver erros, vá dando alerts, para verificar se as variaveis e os testes estão consistentes.

form[i].className=='obrigatorio'

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.