Ir para conteúdo

POWERED BY:

Arquivado

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

osk

[Resolvido]  passar varial

Recommended Posts

Na verdade é variavel e não varial http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Bom dia, tenho form com alguns botões e ações diferentes.

 

assim:

<form action="" method="post" id="exclusao" name="exclusao" onSubmit="return validarForm();">
<input type="hidden" name="acao" id="acao" value="" />
          </p>       
        <p align="left">
          <button type="submit" onclick="$('acao').value='excluir';">Excluir</button>
          <button type="submit" onclick="$('acao').value='alterar';">Editar</button>
          <button type="submit" onclick="$('acao').value='associar';">Incluir em listas</button>
          <button type="submit" onclick="$('acao').value='desassociar';">Excluir de listas</button>
          <button type="submit" onclick="$('acao').value='exportar_selecionados';">Exportar</button>
          <br />
          <br />
        </p>

Acontece que a function não esta recebendo o value do botão ou não sei oque está errado.

 

Function:

function validarForm(){
	var form = document.exclusao;
	var marcados = 0;
	
	if(!form.userids.length)
	{
		if(form.userids.checked)
			marcados=1;
	}
	for(i=0; i<form.userids.length; i++){
		if(form.userids[i].checked){
			marcados++;
		}
	}
	if(!marcados){
		alert("Selecione ao menos um contato para prosseguir com a ação");
		return false;
	}
	var sAcao = form.acao.value;
	if(sAcao=="excluir"){
			if(!marcados){
		alert("Selecione ao menos um contato para prosseguir com a ação");
		return false;
	}
		conf = confirm("Confirma exclusão do(s) contato(s)?\nAtenção, Contatos removidos não terão estatísticas detalhadas nos relatórios e para os que já estiverem presentes nos relatórios aparecerá a frase \"CONTATO REMOVIDO\" no lugar do email do contato.");
		
		if(conf) mostraEsconde_div('div_aguarde');
		return conf;
		form.action = '?pagina=contato&acao=sAcao';
	}

	return true;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você tá utilizando $('acao') ?????

 

é jquery???????

 

Quando você clica em desses botões submits... o que acontece??? ele chama a funcão ou muda o value do input acao????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você tá utilizando $('acao') ?????

 

é jquery???????

 

Quando você clica em desses botões submits... o que acontece??? ele chama a funcão ou muda o value do input acao????

 

Então essa function ela será para varios botoes como pode ver editar, excluir etc.

Quando clico em algum botao o form chama a funcação validaForm() e o botao envia o value da acao.

 

Na verdade eu não sei muito sobre javascript essa função $('acao').value eu vi em um form que o cara usou.

 

Mas teria outra forma de enviar o value pelo botão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahhhh taaaaa... agora entendi a situação...

 

Bom, para começar, este $('acao') é como se fosse um document.getElementById('acao'), mas do jquery...

 

Tem que tomar cuidado com o q você pega na internet, as vezes pode não ter nada a ver com seu objetivo.

 

No form, você deverá deixar assim:

 

<form action="" method="post" id="exclusao" name="exclusao" onsubmit="return validarForm();">
<input type="hidden" name="acao" id="acao" />

<button type="submit" onclick="javascript: document.getElementById('acao').value = 'excluir';">Excluir</button>
<button type="submit" onclick="javascript: document.getElementById('acao').value = 'alterar';">Editar</button>
<button type="submit" onclick="javascript: document.getElementById('acao').value = 'associar';">Incluir em listas</button>
<button type="submit" onclick="javascript: document.getElementById('acao').value = 'desassociar';">Excluir de listas</button>
<button type="submit" onclick="javascript: document.getElementById('acao').value = 'exportar_selecionados';">Exportar</button>
</form>

 

Para testar se a o input acao está recebendo corretamente o valor, coloca o type="text" e depois que você tiver certeza que está funcionando, volta no hidden...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas agora entendi realmente deu quase certo, ele enviou o value so que não tem continuação para efetuar o submt do form, as primeiras vezes que pedi ação excluir ele aparece a mensagem de confimação, mas não manda a action, e depois de 2 tentivas ele não pediu mais a confimação a pagina so da um refresh, dentro da function esta assim:

 

function validarForm(){
	var form = document.exclusao;
	var marcados = 0;
	
	if(!form.userids.length)
	{
		if(form.userids.checked)
			marcados=1;
	}
	for(i=0; i<form.userids.length; i++){
		if(form.userids[i].checked){
			marcados++;
		}
	}
	if(!marcados){
		alert("Selecione ao menos um contato para prosseguir com a ação");
		return false;
		}
	var sAcao = form.acao.value;	
	if(sAcao=="excluir"){			
conf = confirm("Confirma exclusão do(s) contato(s)?\nAtenção, Contatos removidos não terão estatísticas detalhadas nos relatórios e para os que já estiverem presentes nos relatórios aparecerá a frase \"CONTATO REMOVIDO\" no lugar do email do contato.");
		
		if(conf) mostraEsconde_div('div_aguarde');
		return conf;
		form.action = "?pagina=contato&acao=";
	}
		
	return true;
		
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas agora entendi realmente deu quase certo, ele enviou o value so que não tem continuação para efetuar o submt do form, as primeiras vezes que pedi ação excluir ele aparece a mensagem de confimação, mas não manda a action, e depois de 2 tentivas ele não pediu mais a confimação a pagina so da um refresh, dentro da function esta assim:

 

nesta linha:

 

form.action = "?pagina=contato&acao=";

Não deveria estar assim?

 

form.action = "?pagina=contato&acao=excluir";

e também... neste último if... não deveria ter um else if { return false ;} ??

 

Abraços

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.