Ir para conteúdo

Arquivado

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

paulo.policani

window.alert não zerar os campos?

Recommended Posts

Boa tarde Pessoal,

Tenho uma função onde ao ativar o alert, ela limpa todos os campos que o usuário havia preenchido, como faço para isso não ocorrer?

function ValidaGeral(){
	
	if (document.DadosChamado.Mensagem.value.length < 2){
		window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
		document.DadosChamado.Mensagem.focus();			
	}
	if (document.DadosChamado.FormaDeAtendimento_0.checked == false){
		window.alert('Favor preencher a forma de atendimento!' );
		document.DadosChamado.Mensagem.focus();			
	}
	if (document.DadosChamado.FormaDeAtendimento_1.checked == false){
		window.alert('Favor preencher a forma de atendimento!' );
		document.DadosChamado.Mensagem.focus();			
	}
	if (document.DadosChamado.FormaDeAtendimento_2.checked == false){
		window.alert('Favor preencher a forma de atendimento!' );
		document.DadosChamado.Mensagem.focus();			
	}
	if (document.DadosChamado.FormaDeAtendimento_3.checked == false){
		window.alert('Favor preencher a forma de atendimento!' );
		document.DadosChamado.Mensagem.focus();			
	}
	else	
	{
		document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
	}
		document.forms.DadosChamado.submit();

	function AlteraDados() {
	document.forms.TipoCategoria.submit();
	}	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho sim, pois em uma mesma página eu tenho campos que aparecem, que dependendo do que o usuário "checkou" devem ser alterados ou não.

Vou testar não dar o submit, ou melhor verificar o local correto dele.

Obrigado por enquanto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

Apaguei todos os submit() e mesmo assim ele apaga os campos. Isso que no clique do botão eu só chamo esta função:

 

function ValidaGeral(){
	
	if(document.DadosChamado.Concluido.checked == true){
		if (document.DadosChamado.Mensagem.value.length < 2){
			window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
			document.DadosChamado.Mensagem.focus();			
		}
		else if (document.DadosChamado.FormaDeAtendimento_0.checked == false && document.DadosChamado.FormaDeAtendimento_1.checked == false && document.DadosChamado.FormaDeAtendimento_2.checked == false && document.DadosChamado.FormaDeAtendimento_3.checked == false){
			window.alert('Favor preencher a forma de atendimento!' );
			document.DadosChamado.Mensagem.focus();
		}
		else 
			var comboProcede = document.DadosChamado.Procede.selectedIndex;
			if (document.DadosChamado.Procede[comboProcede].text == ''){
				window.alert('Favor informar se o chamado procede!' );
				document.DadosChamado.Mensagem.focus();
			}
			else	
			{
				document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
				//document.forms.DadosChamado.submit();
			}
	}	
	else{
		if (document.DadosChamado.Mensagem.value.length < 2){
			window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
			document.DadosChamado.Mensagem.focus();			
		}
		else	
		{
			document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
			//document.forms.DadosChamado.submit();
		}
	}	
		//document.forms.DadosChamado.submit();

	function AlteraDados() {
	//document.forms.TipoCategoria.submit();
	}	
}

E a chamado no botão está assim:

 

<input name="botao2" type="submit" class="padrao_tabelas" id="botao2" value="Concluir Interação" onClick="ValidaGeral();this.disabled=true">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe é que sou novo no PHP + JavaScript.

Mas encontrei onde faço o onSubmit:

<td align="center" bgcolor="#F7F7F7"><form method="post"  action="" enctype="multipart/form-data" name="DadosChamado" id="DadosChamado"  onSubmit="javascript: ValidaGeral();this.disabled=true">

Removi o onClick do botão, não tem mais nenhum submit de form e mesmo assim está atualizando e zerando os campos após dar OK no windows.alert.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu comentei até os .focus()

Está assim:

 

function ValidaGeral(){
	
	if(document.DadosChamado.Concluido.checked == true){
		if (document.DadosChamado.Mensagem.value.length < 2){
			window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
			//document.DadosChamado.Mensagem.focus();			
		}
		else if (document.DadosChamado.FormaDeAtendimento_0.checked == false && document.DadosChamado.FormaDeAtendimento_1.checked == false && document.DadosChamado.FormaDeAtendimento_2.checked == false && document.DadosChamado.FormaDeAtendimento_3.checked == false){
			window.alert('Favor preencher a forma de atendimento!' );
			//document.DadosChamado.Mensagem.focus();
		}
		else 
			var comboProcede = document.DadosChamado.Procede.selectedIndex;
			if (document.DadosChamado.Procede[comboProcede].text == ''){
				window.alert('Favor informar se o chamado procede!' );
				//document.DadosChamado.Mensagem.focus();
			}
			else	
			{
				document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
				//document.forms.DadosChamado.submit();
			}
	}	
	else{
		if (document.DadosChamado.Mensagem.value.length < 2){
			window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
			//document.DadosChamado.Mensagem.focus();			
		}
		else	
		{
			document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
			//document.forms.DadosChamado.submit();
		}
	}	
		//document.forms.DadosChamado.submit();

	function AlteraDados() {
	//document.forms.TipoCategoria.submit();
	}	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei assim e nada... :(

 

function ValidaGeral(){
	
	if(document.DadosChamado.Concluido.checked == true){
		if (document.DadosChamado.Mensagem.value.length < 2){
			window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
			//document.DadosChamado.Mensagem.focus();			
			return false;
		}
		else if (document.DadosChamado.FormaDeAtendimento_0.checked == false && document.DadosChamado.FormaDeAtendimento_1.checked == false && document.DadosChamado.FormaDeAtendimento_2.checked == false && document.DadosChamado.FormaDeAtendimento_3.checked == false){
			window.alert('Favor preencher a forma de atendimento!' );
			//document.DadosChamado.Mensagem.focus();
			return false;
		}
		else 
			var comboProcede = document.DadosChamado.Procede.selectedIndex;
			if (document.DadosChamado.Procede[comboProcede].text == ''){
				window.alert('Favor informar se o chamado procede!' );
				//document.DadosChamado.Mensagem.focus();
				return false;
			}
			else	
			{
				document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
				//document.forms.DadosChamado.submit();
			}
	}	
	else{
		if (document.DadosChamado.Mensagem.value.length < 2){
			window.alert('Favor preencher o campo Mensagem antes de concluir o chamado!' );
			//document.DadosChamado.Mensagem.focus();			
			return false;
		}
		else	
		{
			document.DadosChamado.action = "Alterar.php?Op=3&interacao=<? echo $interacao ?>";		
			//document.forms.DadosChamado.submit();
		}
	}	
		//document.forms.DadosChamado.submit();

	function AlteraDados() {
	//document.forms.TipoCategoria.submit();
	}	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está entrando em nos if's de acordo como tem que entrar. Porém após clicar em OK do alert, a página fica "pensando" atualizando, e zera os campos. Parece que não entende o return false; E não há nenhuma outra função sendo chamada, verifiquei todas. Muito estranho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito estranho, pois aqui funciona:

<html>
<head>
<script type="text/javascript">
function ValidaGeral(){
    alert('valida geral!');
    
    return false;
}
</script>
</head>
<body>
<form onsubmit="ValidaGeral()" method="POST">
    <input type="submit" />
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Única diferença que vejo é que no meu form não tem este type = submit

 

<td align="center" bgcolor="#F7F7F7"><form method="post"  action="" enctype="multipart/form-data" name="DadosChamado" id="DadosChamado"  onSubmit="javascript: ValidaGeral();this.disabled=true">

E que na função ao invés de alert, estou utilizando window.alert

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim:

<input name="botao2" type="submit" class="padrao_tabelas" id="botao2" value="Concluir Interação">

E uma correção. Altere a linha do form para:

<form onsubmit="return ValidaGeral()" method="POST">

O meu exemplo também não estava funcionando, só identifiquei agora que ele estava submetendo.

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.