Ir para conteúdo

POWERED BY:

Arquivado

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

Guilhermej

inserir um submit em um select

Recommended Posts

Boa noite,

Estou usando essa função javascript em meu site:


function selecao(cidades){
  location= cidades.options[cidades.selectedIndex].value;
}


<select name="categoria" onchange="selecao(this)" id="categoria">
	<option value="">Selecione</option>
	<option value="cidade1.html">cidade1</option>
	<option value="#">cidade2.html</option>
	<option value="#">cidade3.html/option>
</select>

 

Porém queria inserir um submit, ativando a função por um evento onclick, embora achasse que seria fácil, mesmo não entendendo quase nada de javascript, observei alguns códigos parecidos, mas mesmo assim não consegui. Alguém pode me ajudar? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Guilhermej está muito confusa sua dúvida, qual a necessidade?

 

para vc enviar um submit vai ter que chamar a função submit() pelo formulário completo acrescentando as tag <form></form>, outra questão é fazer um onclick, onclick não vai funcionar na tag select.

 

Explica mais sua necessidade para termos uma base, pois sem a necessidade não tem como explanar a lógica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Bergs,

Então, esse código que eu te passei funciona da seguinte maneira: quando seleciono uma cidade na caixa de seleção, sou direcionado para página da cidade referente, até aqui ok? Agora, o que eu queria: selecionar a cidade na caixa de seleção, mas para ser direcionado, ainda precisaria clicar em algum botão, por exemplo "ir para cidade seleciona". Entendeu? Desculpe-me, se minha pergunta ficou meio confusa, fiquei a tarde inteira tentando resolver isso que na minha cabeça a palavra submit e select javascript já auto-explicaria tudo :D.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o teu codigo, poderia ser reescrito para isso aqui:

function selecao(cidades){
  location= cidades.value;
}
muito mais simples.

 

E para funcionar no onsubmit, basta:

<form onsubmit="selecao( document.getElementById('cidade') )" method="">
e pronto.

ou no click, a mesma coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

William obrigado pela ajuda. Quando chegar em casa vou testar. Eu só precisaria aninhar meu select dentro desse <form onsubmit... e adicionar o submit antes da tag de fechamento "</form>", e trocar minha função antiga javascript pela nova que você me passou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">

function selecao(frm){

//location= cidades.options[cidades.selectedIndex].value;

 

// esse vai de brinde

if( frm['cidade'].value == "" ){

alert("escolha uma cidade");

return false;

}

 

 

// pode trocar como quiser, independente de como está definido na tag <form>

frm.action = "pagina_do_action";

frm.method = "POST";

frm.submit();

}

</script>

 

<form action="pagina_do_action" method="GET">

<select name="categoria" onchange="selecao(this.form)" id="categoria">

<option value="">Selecione</option>

<option value="cidade1.html">cidade1</option>

<option value="#">cidade2.html</option>

<option value="#">cidade3.html/option>

</select>

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites
function selecao(frm){
location= cidades.options[cidades.selectedIndex].value;

	// esse vai de brinde
	if( frm['cidade'].value == "" ){ 
		alert("escolha uma cidade"); 
		return false; 
	} 


        // pode trocar como quiser, independente de como está definido na tag <form>
	frm.action = "pagina_do_action"; 
	frm.method = "POST";
	frm.submit();
}
</script>

<form action="pagina_do_action" method="GET">
	<select>
	<option value="">Selecione</option>
	<option value="404.html">404</option>
	<option value="#">cidade2.html</option>
	<option value="#">cidade3.html</option>
	</select>
	<input type="submit" onclick="selecao(frm)">
</form>

 

Não consegui fazer funcionar. Hj vou mandar um e-mail para um colega meu, se ele conseguir posto o resultado aqui, obrigado a todos que tentaram ajudar, vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim?

<script type="text/javascript">

function selecao( select ){

document.location.href = select.value;

}

</script>

 

<form action="pagina_do_action" method="GET">

<select id="cidade">

<option value="">Selecione</option>

<option value="404.html">404</option>

<option value="cidade2.html">cidade2.html</option>

<option value="cidade3.html">cidade3.html</option>

</select>

<input type="button" value="Ir para" onclick="selecao( document.getElementById('cidade') )">

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

William também não funcionou.

 

Aqui está o código funcionando do jeito que queria:

<script type="text/javascript">
function abrirurl(){
var SelectS = document.getElementById("categoria").selectedIndex;
var ValorDoSelect = url.categoria.options[SelectS ].value;
location = ValorDoSelect;
}
</script>

<form name="url" method="post" action="#">
<select name="categoria" class="btcad" id="categoria">
<option value="">Selecione um site</option>
<option value="cidade1.html">cidade1</option>
<option value="cidade2.html">cidade2</option>
</select>
<input type="button" onClick="javascript:abrirurl()" value="Enviar">
</form>

 

 

Código by: Israel Jones. Visitem o site dele, tem vários tutorias legais lá. http://www.computingworld.info/. Obrigado mais um vez a todos que responderam.

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.