Apenas Eu 13 Denunciar post Postado Abril 6, 2015 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
marsolim 110 Denunciar post Postado Abril 6, 2015 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
Apenas Eu 13 Denunciar post Postado Abril 6, 2015 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
Beraldo 864 Denunciar post Postado Abril 6, 2015 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
Apenas Eu 13 Denunciar post Postado Abril 6, 2015 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
marsolim 110 Denunciar post Postado Abril 6, 2015 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
Apenas Eu 13 Denunciar post Postado Abril 6, 2015 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