onurb22 Posted March 24, 2014 Report Share Posted March 24, 2014 (edited) Boa noite, hoje deparei-me com um problema com formulários que nunca me tinha acontecido ( por norma só os uso para enviar aqueles e-mails de contactos). Eu estou a criar um ficheiro( um ficheiro de orçamentos dinâmicos) com droplists e caixas de texto e sempre que é usado o evento onchange ou onclick elas actualizam uma caixa de texto automaticamente. Até aqui tudo bem. o problema está que ao usar o campo value dos formulários para passar as quantias para as contas, não consigo resgatar a informação de texto para depois inserir na BD. Passo a mostrar trechos do código para me explicar melhor. A função JS que calcula os campos: <script type="text/javascript"> function calc(A,B,C,SUM) { var tipo_encad = Number(A); var formato = Number(document.getElementById(B).value); var tp_capa = Number(document.getElementById( C).value); document.getElementById(SUM).value = tipo_encad + formato + tp_capa; </script> Formulário: <label>Tipo de Encadernação:</label><br/> <select name="select1" id="op1" onchange="calc(this.value,'op2','op3','result')" > <option value="0">Selecione...</option> <option value="1">Colado</option> <option value="2">Espiral Metálica</option> <option value="3">Agrafadas</option> </select> <label>Formato:</label><br/> <select name="select2" id="op2" onchange="calc(this.value,'op1','op3','result')"> <option value="0">Selecione...</option> <option value="1">A4 - vertical</option> <option value="2">170x240mm - vertical</option> <option value="3">150x230mm - vertical</option> <option value="4">A5 - vertical</option> </select> <label>Tipo de Papel:</label><br/> <select name="select3" id="op3" onchange="calc(this.value,'op1','op2','result')"> <option value="0">Selecione...</option> <option value="1">Cromocard 260 gr</option> <option value="2">Couche 300 gr</option> </select> <input type="text" value="0,00 €" name="sum" id="result" /> Agora como preciso de passar isto para a BD ou seja, foi escolhida a encadernacao tal, com a formato tal e o papel tal, nao consigo usar o $_POST senão ele vai-me retornar os valores para o calculo e não a info que eu preciso. Edited March 24, 2014 by onurb22 Link to comment Share on other sites More sharing options...
Devexz Posted March 24, 2014 Report Share Posted March 24, 2014 ora bem, porque é que tens selects com o mesmo nome? Contador de calorias: caloriaspordia.com Link to comment Share on other sites More sharing options...
onurb22 Posted March 24, 2014 Author Report Share Posted March 24, 2014 (edited) Foi erro de copy&paste eu tenho para ai 10 campos e para não encher isto de codigo só pus 3. 🙂 Obrigado à mesma pela dica, estarei sempre atento. 🙂 *Corrigido* Edited March 24, 2014 by onurb22 Link to comment Share on other sites More sharing options...
Devexz Posted March 24, 2014 Report Share Posted March 24, 2014 (edited) Foi erro de copy&paste eu tenho para ai 10 campos e para não encher isto de codigo só pus 3. 🙂 Obrigado à mesma pela dica, estarei sempre atento. 🙂 What?!! 😕 never mind... --------------------------- no select só passas a quantidade ou passas a respectiva info, não podes passar duas coisas ao mesmo tempo. podes fazer um input hidden para cada select e vais alterando o seu valor com javascript e depois recebes no php Exemplo: http://stackoverflow.com/questions/20032034/use-javascipt-to-set-value-of-input-tag Edited March 24, 2014 by Devexz Contador de calorias: caloriaspordia.com Link to comment Share on other sites More sharing options...
onurb22 Posted March 25, 2014 Author Report Share Posted March 25, 2014 (edited) Obrigado 🙂 Isto realmente ajuda-me mas não há uma forma mais "dinamica" de fazer a coisa? porque se o select tiver 10 opções vou ter de fazer 10 If, e eu tenho 10 select :S **EDIT** Encontrei, a partir de umas pesquisas um método que me pareceu mais viável e simples. var x = document.getElementById("id_select").selectedIndex; var y = document.getElementById("id_select").options; document.myform.nomecampo.value=y[x].text; Muito obrigado. Edited March 25, 2014 by onurb22 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now