Ir para conteúdo
Fórum Script Brasil
  • 0

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


Paulo Campos 01

Pergunta

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

Editado por Paulo Campos 01
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

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

Editado por Arash
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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>

Editado por Arash
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...