Ir para conteúdo

POWERED BY:

Arquivado

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

Apenas Eu

"Enganar" o value do POST

Recommended Posts

Olá tudo bem?

Eu tenho um combo-box que ele só funciona corretamente com função "value" do input. Todavia não é este o valor que quero enviar via POST para outra tabela.

Eu queria saber se é possível trocar o envio do valor enviado pelo POST pelo ID ou o NAME, ou então pelo valor da lista que aparece para a pessoa clicar. Será que é possível?

 

Eu tentei também "enganar" o value incluindo o valor da linha + o valor que eu quero pegar usando o explode, mas não deu certo na prática.

 

Obrigaod

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi muito muito não fera. desenrole mais o novelo aí por favor :nataltongue:

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkk!

 

Então eu vou exemplificar usando o sistema original de estado/cidade com Banco de Dados

 

Para que o sistema funcione, cada estado tem uma especie de ID e cidade tambem tem uma ID.

 

Imaginemos que o estado "São Paulo" tem a ID 1. Isso quer dizer que todas as cidades que tiverem a ID 1 a página vai entender que todas elas só serão alistadas se a pessoa clicar em São Paulo, certo?

 

Só que para ela funcionar, o cód em html teria que estar mais ou menos assim:

<select name="" id="" class=''>
			<option value="1">(cidade de SP)</option>

Se enviarmos esses dados via POST, o sistema vai pegar o value "1" ao invés de pegar o nome do estado que é São Paulo entendeu?!

 

Do jeito que o sistema está, eu não consigo alterar o que vai aparecer no "value". Ele não funciona. Daí para tentar enganar, e que não deu certo, foi isso:

$estado = "São Paulo :1";
list($uniao) = explode (":", $estado);
echo $uniao; // Apagaria o :1 que é o número do valor e enviaria apenas o que eu realmente preciso

Mas se eu fizer este padrão em todos os campos, (estado) :(valor_id), é enviado o valor que quero para o POST mas o sistema não funciona direito

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evite campos multivalorados. Separar ID:nome só trará mais problemas

 

Você pode criar um input hidden no formulário. No evento onChange da tag select, altere o valor desse hidden para que ele armazene o nome da cidade. Assim, ao enviar o form, você terá um campo com o ID e outro com o nome.

isso deve ser feito com Javascript, não PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola! Acho que entendi o que você quis dizer. Mas aí estava meu grande receio. Só com Javascript.

 

PHP até que consigo fazer alguma coisa mas JS, não entendo nada praticamente. Nem editar e mal manipular. Não faço ideia como fazer o que você disse na pratica, mas eu vou pesquisando... Talvez eu consiga.

 

Obrigado mais uma vez :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se cadastrasse estado e cidade em um banco de dados? ficaria mais fácil usar no php e não corre o risco de pegar um usuário com js desabilitado. acredite tem usuário que desabilita o js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, na realidade está tudo no banco de dados. Tem duas tabelas uma ligada a outra.

 

No caso das "cidades" eu alterei o cód original, troquei o "value" pelo "id" daí o valor do POST aparece o que eu quero que apareça.

O Còd parcialmente está assim:

<?php 
			while ( $row5 = mysql_fetch_array( $res ) ): 
			$cod5 = $row5['cod_quantidade'];
			$sigla = $row5['sigla']; ?>
				<option id="<?php echo $cod5 ?>" value="<?php echo "
$cod5"?>"><?php echo $sigla?></option> 
					<?php endwhile; ?>

Se eu coloco o <?php echo "$cod5"?> em ID, ele apenas carrega alguns dados apenas da tabela tamanho.

 

No meu banco de dados ao invés de estado/cidade eu uso quantidade/tamanho. Sendo assim, o "cod_quantidade" é o equivalente ao id_estado ou cod_estado e a "sigla", ao invés de sp, pf, pt, equivale ao valor da quantidade (10, 20, 50, 1000...).

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.