Ir para conteúdo

POWERED BY:

Arquivado

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

Davide Ricardo

validar um checkbox

Recommended Posts

pessoal, tou com um problema na validação de um campo do tipo checkbox.

 

Imaginem que eu executo uma query para mostrar todos os clientes k tenho na bd..

se eu quiser editar um determinado registo, clico na checkbox correspondente ao registo e faço editar.

Pois bem, o meu problema é que no IE, dá erro quando o primeiro registo nao ta seleccionado.

no FF, nao dá erro nenhum, e edita-me o ultimo registo.

 

<script>
function ValidaCamposEditar() {
//validação para o editar
	var errorMsg = "";
	if (document.formList.check.checked==false){
		errorMsg += "\nSeleccione um registo ";
	}
	if (errorMsg != ""){
		msg = "ERRO:\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}	
	else {
		document.formList.submit();
	}	
	return true;
}
</script>

<form action="" name="formList" id="formList" method="post">
<input type="hidden" name="accao" value="edit" />
<?
$query_clientes = "SELECT * FROM clientes ORDER BY nome ASC";
$clientes = mysql_query($query_clientes); 


while ($linha = mysql_fetch_array($clientes)) {
?>
<input type="hidden" name="id" value="<? echo $linha['id']; ?>" />
<tr bgcolor="#FFFFFF">
<td width="5%" align="center"><input type="checkbox" name="check" value="sim" /></td>
<td width="5%" align="center"><? echo $linha['id']; ?></td>
<td width="30%" align="center"><? echo $linha['nome']; ?></td>
<td width="20%" align="center"><? echo $linha['tlf']; ?></td>
<td width="15%" align="center"><? echo $linha['data']; ?></td>
</tr>
</form>
<? } 
}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tou mesmo a precisar de ajuda nesta materia pessoal..senao resolver isto nao avanço no projecto..

 

eu só quero que ele edite só um registo..

 

no IE, por exemplo, se quiser editar o segundo registo nao dá, pk ele so me deixa editar o primeiro registo.

enquanto no FF, ele nem faz verificação nenhuma, edita logo o ultimo registo..

 

ajudem pff

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma dúvida... para que a edição seja possível você tem que marcar um checkbox e submeter isso?

 

Cara... vou te falar uma coisa... depois que eu descobri um tal de Tigra Validator, nunca mais perdi meu tempo validando formulários e componentes.

Dá uma procurada. Vai te ajudar bastante

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim o Tigra Validator é interessante, mas nao vi nenhum exemplo que me resolva o meu problema..

 

so quero que verifique se há algum registo seleccionado.. e se sim vai editar esse tal registo..ele so me está a fazer isso para o primeiro registo no IE..e no FF nem faz validação nenhuma, edita logo o ultimo registo..

 

desculpa ter sido tao repetitivo..

 

já tou farto de procurar e nao encontro nada que me resolva o problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velhinho...

é igual eu te falei... eu não perco mais tempo validando formulários ou conteúdo de formulários (se está em branco ou não, tipo de inserção, etc.)

 

Eu utilizo um tal de Tigra Form Validator.

Na boa... até hoje eu não vi um script que me proporcionasse um rendimento tão bom, com várias opções de validação e de fácil implementação. Dá uma olhada nisso aí:

 

Tigra Form Validator

 

Recomendo que baixe o script e rode os demos pra você ver como é que funciona.

 

 

Na boa... acho que é a melhor opção de validação de formulários que eu já usei.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pomba véi XD.

Tu postou primeiro que eu.

 

ahehuaeiaeaeui.

 

Porque ao invés de usar um checkbox tu não utiliza um link com uma action para um formulário de edição?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

viva hgb7,mas já tenho este problema resolvido já algum tempo. mas obrigado na mesma

haha, é que você não postou que havia solucionado... ^^, e se alguém utilizar o código, saberá onde arrumar.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao aqui vai o código

 

function verificaForm (accao) {
	var checked = false, elem, i = 0, f=document.forms[0];

	while (elem = f.elements[i++]){
	  //é usado o "elem.name=="GroupOptionID"" só no caso de existirem mais
	  //radiobuttons no formulário, de modo a não interferir
	  if (elem.type == 'radio' && elem.checked && elem.name=="GroupOptionID"){
		checked = true;
		break;
	  }
	}

	if(checked) {//document.formList.submit();
	
		// valor da accao caso seja eliminar
		if (accao == 1) {
			if (confirm("Tem a certeza que deseja eliminar este registo?")) { 
			accao = "delFoto" 
			document.formList.action="?modulo=fotos.php&accao="+accao;			
			} else { return false; } 
		}

				//aqui podemos colocar mais if's

		document.formList.submit();

	}
	else {alert("Seleccione um registo");}

	return checked;
}

 

<form action="" name="formList" id="formList" method="post">
<a title="Eliminar Foto" href="#" onclick="java script:verificaForm(1);">ELIMINAR</a>
//aqui a pesquisa para ir buscar o id do registo..
<input type='radio' name='GroupOptionID' id='GroupOptionID' value='<? echo $id; ?>'/>
</form>

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.