Ir para conteúdo

Arquivado

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

montano

[Resolvido] Pegar um array de select e inputs

Recommended Posts

boa noite, estou tentando pegar um array de inputs

 

no caso eu tenho varios <select name='cliente'>, preciso pegar o valor de cada um e enviar por GET no AJAX.

Estou tentando assim porem nao esta funcionando.

 

//Clientes
var string;
var inputs = document.getElementsByTagName('select');
for( var x = 0; x < inputs.length; x++ )
{
if(inputs[x].type == "text" && inputs[x].name == 'cliente')
{
url=url+"&cliente[]="+inputs[x].value;
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi.. ficou contraditório.. se você tem 'vários selects', pq faz o if, comparando o type=='text' ?

 

<script type="text/javascript">
window.onload = function()
{
	document.getElementById('ok').onclick = function()
	{
		var url='';
		var inputs = document.getElementsByTagName('select');
		
		for( var i = 0; i < inputs.length; i++ )
		{
			url +=	'&'+inputs[i].name+'='+inputs[i].value;
		}
		alert( url );
	}
}
</script>
</head>
<body>

<form>
	<select name="cliente">
		<option value="1">1</option>
		<option value="2">2</option>
	</select>
	<select name="cliente2">
		<option value="1">1</option>
		<option value="2">2</option>
	</select>
	<select name="cliente3">
		<option value="1">1</option>
		<option value="2">2</option>
	</select>
	
	<input type="button" name="ok" value="ok" id="ok" />
</form>
Veja que se todos eles se chamam: name="cliente" o valor de um, vai sobrescrever o outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

william, foi erro na hora de digitar desculpa.

 

é o seguinte, eu tenho isso:

 

 <select name="cliente">
                <option value="1">1</option>
                <option value="2">2</option>
        </select>
        <select name="cliente">
                <option value="1">1</option>
                <option value="2">2</option>
        </select>
        <select name="cliente">
                <option value="1">1</option>
                <option value="2">2</option>
        </select>

Quando eu faço com submit normal sem ajax, ele vai me passar por url o seguinte. cliente[]=&cliente[]=&cliente[]=

e depois eu pego o value deles no php por foreach ou outro meio.

Como eu posso passar desse modo por ajax? eu faço isso com input e da certinho, porem com select nao consigo.

 

como eu faço com input

var string;
var inputs = document.getElementsByTagName('input');
for( var x = 0; x < inputs.length; x++ )
{
if(inputs[x].type == "text" && inputs[x].name == 'cliente')
{
url=url+"&cliente[]="+inputs[x].value;
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja que se todos eles se chamam: name="cliente" o valor de um, vai sobrescrever o outro.

 

Faça algo como:

<script type="text/javascript">
window.onload = function()
{
	document.getElementById('ok').onclick = function()
	{
		var url='';
		var selects = document.getElementsByTagName('select');
		
		for( var i = 0; i < selects.length; i++ )
		{
			if( selects[i].name=='cliente[]' )
				url +=	'&'+selects[i].name+'='+selects[i].value;
		}
		alert( url );
	}
}
</script>
</head>
<body>

<form>
	<select name="cliente[]">
		<option value="1">1</option>
		<option value="2">2</option>
	</select>
	<select name="cliente[]">
		<option value="1">1</option>
		<option value="2">2</option>
	</select>
	<select name="cliente[]">
		<option value="1">1</option>
		<option value="2">2</option>
	</select>
	<select name="outro">
		<option value="Valor que não deve entrar 1">Valor que não deve entrar</option>
		<option value="Valor que não deve entrar 2">Valor que não deve entrar 2</option>
	</select>
	
	<input type="button" name="ok" value="ok" id="ok" />
</form>
e ai você pode usar um foreach no $_GET['cliente']

pois ele tem as posições:

$_GET['cliente'][1];

$_GET['cliente'][2]; ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vejo 'porque não funcionaria'.. a idéia é a mesma. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.