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

[Array] Dúvida sobre o tamanho


Martinsrj

Pergunta

Olá pessoal, tudo bom?

Tenho um sistema em php onde está sendo necessário incluir um campo na tabela regional, porem esse campo está vinculado a outro campo de outra tabela chamado site. Realizei as inclusoes no banco, porem estou com dificuldades para fazer que os dois codigos abaixo se comuniquem, pois quando o usuarios clica em qualquer opção da erro de javascript, porem antes não dava após das inclusões.

Exemplo:

Tabela Regional:

sq_regional | no_regional:

14 | Claro NO

Tabela Site:

sq_site | sq_regional | no_site | fg_excluido

487 | 14 | CD BELÉM | 0

489 | 14 | Teste NO | 0

novochamado.php:

<?php
require_once 'autenticacao.php';
require_once 'morrer.php';

if(!temPerfil('novoChamado')){
    morrer('Acesso negado.');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
    <title>MTI - Novo chamado</title>
    <link rel="stylesheet" href="css/mti.css" type="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript" src="js/mti.js"></script>
    <script type="text/javascript" src="js/form.js"></script>
    <script type="text/javascript">
        function foca(){
        document.forms[0].chamado.focus();
        }
    </script>
</head>

<body onLoad="foca()">

<div class="titulo">Novo chamado</div>

<iframe src="" id="siteiframe" style="display: none;"></iframe>

<form method="post" action="novoChamado2.php" onSubmit="return validaFormNovoChamado()">
<table style="width: 400px;">
    <tr>
        <td class="rotulo" style="width: 80px;">Chamado:
        <td class="campo" style="width: 320px;"><input type="text" name="chamado" size="8" maxlength="8" class="campotexto">
    <tr>
        <td class="rotulo" colspan=2>Regional:
    <tr>
        <td class="campo" colspan=2>
            <div style="width: 50%; float: left;">
                <input type="checkbox" name="regional[1]" id="regional1" value=1 onClick="return regionaltodas()">
                    <label for="regional1" id="lregional1">Todas</label><br>
                <input type="checkbox" name="regional[11]" id="regional11" value=1 onClick="return clicaregional()">
                    <label for="regional11" id="lregional11">ACS Barão Geraldo</label><br>
                <input type="checkbox" name="regional[2]" id="regional2" value=1 onClick="return clicaregional()">
                    <label for="regional2" id="lregional2">BC Macaé</label><br>
                <input type="checkbox" name="regional[3]" id="regional3" value=1 onClick="return clicaregional()">
                    <label for="regional3" id="lregional3">Claro BA/SE/MG</label><br>
                <input type="checkbox" name="regional[4]" id="regional4" value=1 onClick="return clicaregional()">
                    <label for="regional4" id="lregional4">Claro CO</label><br>
                <input type="checkbox" name="regional[5]" id="regional5" value=1 onClick="return clicaregional()">
                    <label for="regional5" id="lregional5">Claro NE</label><br>
                <input type="checkbox" name="regional[12]" id="regional12" value=1 onClick="return clicaregional()">
                    <label for="regional12" id="lregional12">BC Ribeirão Preto</label><br>
            </div>
            <div style="width: 50%; float: right;">
                <input type="checkbox" name="regional[6]" id="regional6" value=1 onClick="return clicaregional()">
                    <label for="regional6" id="lregional6">Claro PR/SC</label><br>
                <input type="checkbox" name="regional[7]" id="regional7" value=1 onClick="return clicaregional()">
                    <label for="regional7" id="lregional7">Claro RJ/ES</label><br>
                <input type="checkbox" name="regional[8]" id="regional8" value=1 onClick="return clicaregional()">
                    <label for="regional8" id="lregional8">Claro RS</label><br>
                <input type="checkbox" name="regional[9]" id="regional9" value=1 onClick="return clicaregional()">
                    <label for="regional9" id="lregional9">Claro SP1</label><br>
                <input type="checkbox" name="regional[10]" id="regional10" value=1 onClick="return clicaregional()">
                    <label for="regional10" id="lregional10">Claro SP2</label><br>
                <input type="checkbox" name="regional[13]" id="regional13" value=1 onClick="return clicaregional()">
                    <label for="regional13" id="lregional13">BC Juiz de Fora</label><br>
                <input type="checkbox" name="regional[14]" id="regiona114" value=1 onClick="return clicaregional()">
                    <label for="regional14" id="lregional14">Claro NO</label><br> 
            </div>
    <tr>
        <td class="rotulo">Site:
        <td class="campo">
            <select name="site" id="site" class="campocombo" style="width: 250px;">
            </select>
    <tr>
        <td colspan=2>
            <input type="submit" class="botao" value="Enviar">
            <input type="reset" class="botao" value="Cancelar">
</table>
</form>

</body>

</html>
form.js:
window.history.go(1);

var globSelecionada = new String;
//variavel com nome das regionais selecionadas seperadas por |

var regionaisid = new Array(1,11,2,3,4,5,12,6,7,8,9,10,13,14);
var regionaistx = new Array('Todas','ACS Barão Geraldo','BC MACAÉ','Claro BA/SE/MG','Claro CO','Claro NE','BC Ribeirão Preto','Claro PR/SC','Claro RJ/ES','Claro RS','Claro SP1','Claro SP2','BC Juiz de Fora','Claro NO');
//conteudo estatico das regionais

function validaRegional(){
    if( globSelecionada == "" ) return false;
    if( globSelecionada != "Todas" && document.getElementById('site').selectedIndex == 0 ) return false;

    return true;
}

function validaFormNovoChamado(){
    if( !validaRegional() ){
        alert("Preencha a regional e site corretamente.");
        return false;
    }

    if( document.forms[0].chamado.value.length <1 ){
        alert("Preencha o número do chamado.");
        return false;
    }

    return true;
}

function mostraSiteTodos(){
    limpaSite();
    document.getElementById('site').options[0] = new Option('','',false,false);
    document.getElementById('site').options[1] = new Option('Todos','Todos',true,true);
    document.getElementById('site').selectedIndex = 1;
    document.getElementById('site').disabled = true; //disabled não posta
}

function mostraSite(sq_regional){
    //mostra o combo de site e dá refresh no iframe para montar os itens do combo
    limpaSite();
    document.getElementById('site').options[0] = new Option('CARREGANDO SITES ' + globSelecionada.toUpperCase(),'AGUARDE',true,true);
    document.getElementById('site').disabled = true;
    if( typeof no_site_selecionado == 'undefined' ){
        document.getElementById('siteiframe').src = 'consultaSites.php?r=' + sq_regional;
    }else{
        document.getElementById('siteiframe').src = 'consultaSites.php?r=' + sq_regional + '&s=' + no_site_selecionado;
    }
}

function limpaSite(){
    //limpa o combo de sites
    for(;document.getElementById('site').length;){
        document.getElementById('site').options[0] = null;
    }    
}

function limpaRegionais(){
    for(i=1;i<11;i++){
        document.getElementById('regional' + i).checked = false;
        document.getElementById('regional' + i).disabled = false;
        document.getElementById('lregional' + i).disabled = false;
    }
}

function regionaltodas(){
    //chamada qd clica na regional Todas
    //marca e desabilita as checkboxes e labels de todas as regionais, mostra o item de site Todos
    for(i=1;i<=regionaisid.length-1;i++){
        regionaisid[i] = regionaisid[i] + ''; //char
        document.getElementById('regional' + regionaisid[i]).checked = document.getElementById('regional1').checked;

        if(document.getElementById('regional1').checked){
            document.getElementById('regional' + regionaisid[i]).disabled = true;
            document.getElementById('lregional' + regionaisid[i]).disabled = true;
        }else{
            document.getElementById('regional' + regionaisid[i]).disabled = false;
            document.getElementById('lregional' + regionaisid[i]).disabled = false;
        }
    }

    if(document.getElementById('regional1').checked){
        mostraSiteTodos();
        globSelecionada = 'Todas';
    }else{
        limpaSite();
        globSelecionada = '';
    }
}

function clicaregional(){
    //chamada qd clica em uma regional
    //mostra o combo sites e monta ele em consulta ao iframe
    var qts = 0;
    var selecionada = new String;
    var selecionadaTx = new String;
var regionaisid = new Array(1,11,2,3,4,5,12,6,7,8,9,10,13,14);
var regionaistx = new Array('Todas','ACS Barão Geraldo','BC MACAÉ','Claro BA/SE/MG','Claro CO','Claro NE','BC Ribeirão Preto','Claro PR/SC','Claro RJ/ES','Claro RS','Claro SP1','Claro SP2','BC Juiz de Fora','Claro NO');

    for(i=1;i<=regionaisid.length-1;i++){
        if( document.getElementById('regional' + regionaisid[i]).checked ){
            selecionada = regionaisid[i];
            if(qts==0){
                selecionadaTx = regionaistx[i];
            }else{
                selecionadaTx = selecionadaTx + ' | ' + regionaistx[i];
            }
            qts++;
        }
    }
    if(qts==0){
        globSelecionada = '';
        limpaSite();
        document.getElementById('site').disabled = true;
    }else{
        globSelecionada = selecionadaTx;
        if(qts==1){
            mostraSite(selecionada);
        }else{
            if(qts==regionaisid.length - 1){
                //se estiverem todas marcadas, marca a regional Todas
                //evita que um louco saia marcando tudo ao invés de Todas
                document.getElementById('regional1').checked = true;
                regionaltodas();
            }else{
                mostraSiteTodos();
            }
        }
    }
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Cara, pra que tudo isso?

É tão mais pratico fazer busca com o mysql_query e fetch_array..

Tente mudar de java pra sql.. talvez de ajude!

Outra.. utilize include ao invés de require_once.. é bem mais rápido..

falou

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...