Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Como associar este valor a um nome ? :S


Paulo Campos 01
 Share

Question

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é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

Edited by Paulo Campos 01
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

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]));
}

Edited by Arash
Link to comment
Share on other sites

  • 0

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>

Link to comment
Share on other sites

  • 0

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>

Edited by Arash
Link to comment
Share on other sites

  • 0

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.php

if ($_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 ?

Link to comment
Share on other sites

  • 0

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>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...