Paulo Campos 01 Postado Setembro 10, 2012 Denunciar Share Postado Setembro 10, 2012 (editado) Bom dia galera, encontrei um entrave, é possível associar as taxas abaixo a um nome ?var taxa_1=new Array("-",2.1,3.7,4.5) var taxa_2=new Array("-",2.6,3.2,4.6)preciso que no meu formulário apareça da seguinte forma:DébitoCrédito a VistaCrédito Parceladosendo que:Débito = ao valor -> 2.1Crédito a Vista = ao valor -> 3.7Crédito Parcelado = ao valor -> 4.5O mesmo vale para taxa_2. Pois o taxa_1 se refere à bandeira visa e o taxa_2 à bandeira master.Conto com a colaboração de todos...valeu Editado Setembro 17, 2012 por Paulo Campos 01 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arash Postado Setembro 10, 2012 Denunciar Share Postado Setembro 10, 2012 (editado) Voce pode usar array em 2d:ex:window.onload = function () { var array2D, primeiro, segundo; array2D = [['Primeiro', 'Papai'], ['Segundo', 'Noel']]; document.getElementsByTagName('body').item(0).appendChild(document.createTextNode(array2D[0][1] + ' ' + array2D[1][1])); } Editado Setembro 10, 2012 por Arash Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Campos 01 Postado Setembro 11, 2012 Autor Denunciar Share Postado Setembro 11, 2012 Amigo, desculpa. Eu não entendo muito de java, sei mais php.Poderia dar uma força como ficaria o script ?:/<html> <head> <script> var taxa_1=new Array("-",4.2,3.7,4.5) var taxa_2=new Array("-",4.6,6.9,2.1) function cambia_taxa(){ //tomo el valor del select del pais elegido var bandeira bandeira = document.f1.bandeira[document.f1.bandeira.selectedIndex].value //miro a ver si el pais está definido if (bandeira != 0) { //si estaba definido, entonces coloco las opciones de la provincia correspondiente. //selecciono el array de provincia adecuado mis_taxa=eval("taxa_" + bandeira) //calculo el numero de provincias num_taxa = mis_taxa.length //marco el número de provincias en el select document.f1.taxa.length = num_taxa //para cada provincia del array, la introduzco en el select for(i=0;i<num_taxa;i++){ document.f1.taxa.options[i].value=mis_taxa[i] document.f1.taxa.options[i].text=mis_taxa[i] } }else{ //si no había provincia seleccionada, elimino las provincias del select document.f1.taxa.length = 1 //coloco un guión en la única opción que he dejado document.f1.taxa.options[0].value = "-" document.f1.taxa.options[0].text = "-" } //marco como seleccionada la opción primera de provincia document.f1.taxa.options[0].selected = true } </script> </head> <h1>Formulário</h1><br><br> <table><tr> <form method="post" name="f1" action="application/controler/Calculo.php"> <table> <tr> <td>Bandeira:</td> <td> <select name=bandeira onChange="cambia_taxa()"> <option value="0" selected>Selecione... <option value="1">Visa <option value="2">Master </select> </td> </tr> <tr> <td>Taxa:</td> <td> <select name=taxa> <option value="-">- </select> </td> </tr> <tr> <td> <input type="submit" name="Submit" value="Enviar" /> </td> </tr> </table> </form> </tr> </table> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arash Postado Setembro 13, 2012 Denunciar Share Postado Setembro 13, 2012 (editado) Olhando o seu problema vi que não era necessario o array que disse la encima,Eu fiz esse código, usando Jquery e JAVASCRIPT (Que não tem nada, a não ser o nome, a ver com JAVA)<!DOCTYPE HTML> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title></title> <style> #pagar { color:red; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> var taxa_1, taxa_2, visa; visa = true; taxa_1 = ["4.2","3.7","4.5"]; taxa_2 = ["4.6","6.9","2.1"]; $(document).ready(function($) { $('select[name=bandeira]').on('change', function() { verfValor(); }); $('select[name=pagamento]').on('change', function() { verfValor(); }); }); function verfValor() { var tipo; if ($('select[name=bandeira] option:selected').val() === 'Visa') { visa = true; } else { visa = false; } switch ($('select[name=pagamento] option:selected').val()) { case 'Debito': tipo = 0; break; case 'Vista': tipo = 1; break; case 'Parcelado': tipo = 2; break; } if (visa) { $('#pagar').text(taxa_1[tipo]); } else { $('#pagar').text(taxa_2[tipo]); } } </script> </head> <body> <h1>Formulário</h1><br><br> <form action="application/controler/Calculo.php" method="post" name="f1"> <p>Bandeira:</p> <select name="bandeira" id=""> <option value="Visa">Visa</option> <option value="Master">Master Card</option> </select> <select name="pagamento" id=""> <option value="Debito">Débito</option> <option value="Vista">Crédito a Vista</option> <option value="Parcelado">Crédito Parcelado</option> </select> <p>Taxa = <span id="pagar">4.2</span></p> <input type="submit" name="Submit" valur="Enviar"/> </form> </body> </html> Editado Setembro 13, 2012 por Arash Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Campos 01 Postado Setembro 17, 2012 Autor Denunciar Share Postado Setembro 17, 2012 Perfeito amigo, o problema é que eu preciso pegar a taxa e enviar por method post.No calculo ele tem que receber o post com name="taxa".Como é span não dá pra dar um nome.Calculo.phpif ($_SERVER['REQUEST_METHOD'] == 'POST') { // Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido $newData = (isset($_POST['data'])) ? $_POST['data'] : ''; $valortotal = (isset($_POST['valor'])) ? $_POST['valor'] : ''; $taxa = (isset($_POST['taxa'])) ? $_POST['taxa'] : ''; $nParcelas = (isset($_POST['parcela'])) ? $_POST['parcela'] : ''; $bandeira = (isset($_POST['bandeira'])) ? $_POST['bandeira'] : ''; } ... Pois ao fazer o calculo que segue logo abaixo ele não está descontando a taxa pois a mesma não está chegando até ele... $desconto = $valortotal*($taxa/100); $val_parcela = ($valortotal-$desconto)/$nParcelas;Está funcionando certinho, só que como eu levo o valor do id="pagar" para o Calculo.php ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arash Postado Setembro 17, 2012 Denunciar Share Postado Setembro 17, 2012 HUM... Eu pensei que voce queria que o usuario visse o valor da taxa...Mas tudo bem, se voce sabe o que é AJAX, é só colocar metodo post e mandar a variavel taxa_1 ou taxa_2 e o tipo, para o seu php, e la voce resolveria tranquilo...Agora se voce não quer nem saber de AJAX, eu posso te ajudar, mesmo não sendo uma maneira la muito confiavel, por que se a pessoa souber um pouquinho de javascript já ferra, pois ele pode mudar a taxa que voce vai receber.... SUGIRO FAZER UMA OUTRA VERIFICAÇÃO NO PHP, para ficar de boa.E nesse caso voce pega o valor da taxa no input, com name="pagar"<!DOCTYPE HTML> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title></title> <style> #pagar { color:red; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> var taxa_1, taxa_2, visa; visa = true; taxa_1 = ["4.2","3.7","4.5"]; taxa_2 = ["4.6","6.9","2.1"]; $(document).ready(function($) { $('select[name=bandeira]').on('change', function() { verfValor(); }); $('select[name=pagamento]').on('change', function() { verfValor(); }); }); function verfValor() { var tipo, typ; if ($('select[name=bandeira] option:selected').val() === 'Visa') { visa = true; } else { visa = false; } switch ($('select[name=pagamento] option:selected').val()) { case 'Debito': tipo = 0; break; case 'Vista': tipo = 1; break; case 'Parcelado': tipo = 2; break; } if (visa) { typ = taxa_1[tipo]; } else { typ = taxa_2[tipo]; } $('input[name=pagar]').attr('value',typ); } </script> </head> <body> <h1>Formulário</h1><br><br> <form action="application/controler/Calculo.php" method="post" name="f1"> <p>Bandeira:</p> <select name="bandeira" id=""> <option value="Visa">Visa</option> <option value="Master">Master Card</option> </select> <select name="pagamento" id=""> <option value="Debito">Débito</option> <option value="Vista">Crédito a Vista</option> <option value="Parcelado">Crédito Parcelado</option> </select> <p> Taxa = <input type="text" name="pagar" value="4.2" disabled/></p> <input type="submit" name="Submit" valur="Enviar"/> </form> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Campos 01 Postado Setembro 17, 2012 Autor Denunciar Share Postado Setembro 17, 2012 Valeu pela força meu amigo Arash.Tudo que eu precisava, precisar estamos ai.Forte abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Campos 01
Bom dia galera, encontrei um entrave, é possível associar as taxas abaixo a um nome ?
preciso que no meu formulário apareça da seguinte forma:
Débito
Crédito a Vista
Crédito Parcelado
sendo que:
Débito = ao valor -> 2.1
Crédito a Vista = ao valor -> 3.7
Crédito Parcelado = ao valor -> 4.5
O mesmo vale para taxa_2. Pois o taxa_1 se refere à bandeira visa e o taxa_2 à bandeira master.
Conto com a colaboração de todos...
valeu
Editado por Paulo Campos 01Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.