+ Responder ao Tópico



  1. #1
    jamba
    Visitante

    Padrão Ajuda com Javascript

    Bom dia galera.

    Estou com um pequeno problema para executar um javascript e gostaria da ajuda de vcs.

    Tenho o seguinte codigo:
    Código :
    $script = '
    function validaCotacao() {
        var doc = document.buscarol.elements;
        for(var y = 0; y < doc.length; y++) {
            if(doc[y].getAttribute(\'vencedor\') == "1" && doc[y].checked) {
                alert("Esse fornecedor ainda não foi cotado\n"+y);
                return false;
            }
        }
    }
    ';
     
    $output .= '
    <tr>
    <td style="text-align:center" >
        <input type="checkbox" id_cotacao="true" name="id_cotacao['.$nr_cnpjmatriz_cpf_for.'][id_cotacao]" '.$id_cotacao.' value="1" />
    </td>
    <td style="text-align:center" >
        <input type="hidden" name="nr_cnpjmatriz_cpf_for[]" value="'.$nr_cnpjmatriz_cpf_for.
    '" />
        <input type="checkbox" vencedor="1" name="id_vencedor['.$nr_cnpjmatriz_cpf_for.'][id
    _vencedor]" '.$id_vencedor.' value="1" onClick="return validaCotacao();" />
        <input type="hidden" name="nr_rol" value="'.$nr_rol.'" />
    </td>
    </tr>';


    O '$output" encontra-se dentro de um loop while onde me retornara varios 'checkbox vencedores' e varios 'checbox cotacao'. Preciso fazer um regra que proiba o usuario de clicar direto em vencedor sem que cotacao ja estaja selecionada. A funcao - validaCotacao() - que fiz nao realiza a regra mas tb nao acusa erro nenhum.

    Conto com a ajuda de vcs.

    Valeu

  2. #2
    jamba
    Visitante

    Padrão Ajuda com Javascript

    Ai consegui resolver

    O codigo ficou assim:
    Código :
    // Variavel $script eh uma variavel global no meu sistema
    $script = '
    function validaCotacao(acc,acc1) {
        if(document.getElementById(acc).checked && document.getElementById(acc1).checked == false) {
            alert("É necessário fazer a cotação desse fornecedor") {
                return false;
            }
        }
    }
     
    $acc = ++$acc;
    $acc1 = ++$acc1;
     
    $output .= '<td style="text-align:center" >
        <input type="checkbox" id="'.$acc1.'a" name="id_cotacao['.$nr_cnpjmatriz_cpf_for.'][id_cotacao]" '.$id_cotacao.' value="1" />
    </td>
    <td style="text-align:center" >
        <input type="hidden" name="nr_cnpjmatriz_cpf_for[]" value="'.$nr_cnpjmatriz_cpf_for.
    '" />
        <input type="checkbox" id="'.$acc.'" name="id_vencedor['.$nr_cnpjmatriz_cpf_for.'][id_vencedor]" '.$id_vencedor.' value="1" onClick="return validaCotacao(\''.$acc.'\',\''.$acc1.'a\');" />
         <input type="hidden" name="nr_rol" value="'.$nr_rol.'" />
    </td>
    </tr>';

    Colocando um atributo 'id' no 'inputs checkbox' e resgatando-os no javascript com o getElementById().