Ir para conteúdo

POWERED BY:

Arquivado

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

Célio-Ctba

Erro ao usar 2 eventos no mesmo campo

Recommended Posts

Fala galera!!!!Não é possivel usar dois eventos no mesmo campo de formulário? assim:

<select name="estado" size="2" id="estado" onChange="ShowHideDIV('CampoOculto','2');" onBlur="checkdata(form)">
o erro que está dando é:

Erro em tempo de execução - Objeto esperado

Compartilhar este post


Link para o post
Compartilhar em outros sites

É para evitar que o usuario esqueça de preencher este campo e passe batido.

 

Com este cód funciona normal:

<html><head><script Language=Javascript>function checkdata() {	with(document.form) {				if (estado.value == "") {			alert("O campo estado precisa ser preenchido!");			estado.focus();			return false; }		 	}}	</script></head><body><form name="form"><select name="estado" size="1" id="estado"  onBlur="checkdata(form)">		  <option value="BA">BA</option>			  <option value="PR">PR</option>			  <option value="SP">SP</option>			  <option value="SC">SC</option>			  <option value="PE">PE</option>		  <option value=""> </option>			</select> </form></body></html>

Mas se eu colocar o onChange junto aí ele dá aquele erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dessa forma com o if dentro da tag do select não deu certo a função do onchange, implem,entei como estava, aí o onchange funciona mas o onblur não, esse é só um exemplo tenho um formulário gigante.

 

<html><head><script Language=Javascript>function checkdata() {	with(document.form) {				if (estado.value == "") {			alert("O campo estado precisa ser preenchido!");			estado.focus();			return false; }		 	}}function ShowHideDIV(Lista, NomeDIV){Valor = Lista.value;if (Valor=="BA" | Valor=="PR") { //Aqui escolhemos em qual opção o text deve aparecerdocument.getElementById(NomeDIV).style.display = "block";} else if (Valor=="SP" | Valor=="SC" | Valor=="PE" | Valor=="") { //Nesta linha são os combos q fazem o text sumirdocument.getElementById(NomeDIV).style.display = "none";}}	</script></head><body><form name="form"><select name="lista" size="1" id="lista"  onBlur="checkdata(form)" onChange="ShowHideDIV(this,'CampoOculto');">		  <option value="BA">BA</option>			  <option value="PR">PR</option>			  <option value="SP">SP</option>			  <option value="SC">SC</option>			  <option value="PE">PE</option>		  <option value=""> </option>			</select>Motomoney:</strong> bônus trimestral			em forma de vale compras.				<div id="CampoOculto" style="display: none;">Justifique:				<textarea name="just_algumnome" rows="2" cols="50"></textarea> <input type=text> <input type=text> <input type=text></form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, esse é só um exemplo tenho um formulário gigante.

Tenho um formulário de pesquisa e determinadas combos são para q o usuário de notas de 1 a 5 na combo, então faço a opção em branco para q se o usuario passar em branco sem dar nota ele de uma alert e volta ao campo com o focus.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora rolou:

 

<select name="motomoney" size="1" id="motomoney" onChange="ShowHideDIV('CampoOculto','2');" onBlur="checkdata(form)">  <option value="?">?</option>  <option value="5">5</option>  <option value="4">4</option>  <option value="3">3</option>  <option value="2">2</option>  <option value="1">1</option>			</select>			</label>				   			Motomoney:</strong> bônus trimestral 			em forma de vale compras.				<div id="CampoOculto" style="display: none;">Justifique:				<textarea name="just_motomoney" rows="2" cols="50"></textarea>

 

O cód javascript para o onBlur ficou assim:

function checkdata(form) {	var cascalho = form.motomoney.value	 if (cascalho == "?") {		alert("O campo motomoney precisa ser preenchido!")		document.form1.motomoney.focus();

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem lembrado é verdade!!!!

Aproveitando, para fazer aquele esquema da função showhidediv, posso fazer q apareça o campo também com um campo radio?

 

Fiz assim mas não ta rodando:

function ShowHideDIV(xxx, NomeDIV){   Valor = xxx.value;		if (Valor=="checked") { 		  document.getElementById(NomeDIV).style.display = "block";		}		 else{		   document.getElementById(NomeDIV).style.display = "none";		 }}

formulário

<input name="xxx" type="radio" id="xxx" onChange="ShowHideDIV(this,'CampoOculto');">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim tá ótimo.

Caso eu tenha só um checkbox, naqueles casos em que se o usuario clicar abre o campo text, tem como nesse mesmo checkbox quando for clicado a segunda vez ele fechar o campo text?

 

Eu tentei + ou - assim com IF mas no ELSE não rolou

<input type="checkbox" name="Visualizar" onClick=" if (this.value != ''){ document.getElementById('CampoOculto').style.display = 'block';} else{ document.getElementById('CampoOculto').style.display = 'none';}">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maravilha Alves, ficou redondinho, pelo que analisei ele só não foi pq estava usando

(this.value != '')

aí você mudou para

(this.checked == true)

 

Passei perto rs....

 

 

 

Mto obrigado!!!!!

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.