Ir ao conteúdo
  • Cadastre-se

JorgeGomes

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

posts postados por JorgeGomes

  1. Boa noite!

     

    A situação é a seguinte, estou incluindo páginas dentro de iframes, sendo que as mesmas fazem parte do mesmo domínio, existem campos e seus valores máximos, e também um botão para selecionar todos os valores máximos destes campos, e este é meu objetivo, clicar nesse botão, porém, quando disparo o evento clique, nada é selecionado, entretanto, observei que adicionar valores manualmente a estes campos funcionava. 

     

    Segue o código utilizado para disparar evento clique e selecionar o valor máximo de todos os campos:

    $('#praca0').contents().find('#todasUnidades').click();

    Isto é o que funciona:

    $('#praca0').contents().find('#campo1').val('10');

    Contudo, eu não quero fazer isso para cada campo, sendo que já tenho um botão que seleciona todos os valores máximos.

     

    Vale ressaltar que se disparar o evento clique nas respectivas páginas sem estarem dentro de iframes tudo ocorre como esperado.

     

    Desde já agradeço pela ajuda!

  2. Boa noite!

     

    Uso o PHPMailer, e o envio quando o site está hospedado em um servidor local ocorre tudo certo, entretanto, quando enviado a partir de um servidor online ele não dá certo, ocorre um erro, segue o debug:

     

    Spoiler

    Connection: opening to smtp.live.com:587, timeout=300, options=array ()
    Connection: opened
    SERVER -> CLIENT: 220 BLU436-SMTP112.smtp.hotmail.com Microsoft ESMTP MAIL Service, Version: 8.0.9200.16384 ready at Tue, 13 Dec 2016 16:09:24 -0800
    CLIENT -> SERVER: EHLO ifsertao-pe-afranio.pe.hu
    SERVER -> CLIENT: 250-BLU436-SMTP112.smtp.hotmail.com Hello [31.170.166.34]250-TURN250-SIZE 41943040250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-BINARYMIME250-CHUNKING250-VRFY250-TLS250-STARTTLS250 OK
    CLIENT -> SERVER: STARTTLS
    SERVER -> CLIENT: 220 2.0.0 SMTP server ready
    CLIENT -> SERVER: EHLO site.com.br
    SERVER -> CLIENT: 250-BLU436-SMTP112.smtp.hotmail.com Hello [31.170.166.34]250-TURN250-SIZE 41943040250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-BINARYMIME250-CHUNKING250-VRFY250-AUTH LOGIN PLAIN XOAUTH2250 OK
    CLIENT -> SERVER: AUTH LOGIN
    SERVER -> CLIENT: 334 VXNlcm5hbWU6
    CLIENT -> SERVER: aWZzZXJ0YW8tcGUtYWZyYW5pb0BvdXRsb29rLmNvbQ==
    SERVER -> CLIENT: 334 UGFzc3dvcmQ6
    CLIENT -> SERVER: Y2VudHJvYWZyYW5pbzE2
    SERVER -> CLIENT: 235 2.7.0 Authentication succeeded
    CLIENT -> SERVER: MAIL FROM:<[email protected]>
    SERVER -> CLIENT: 250 2.1.0 [email protected] OK
    CLIENT -> SERVER: RCPT TO:<[email protected]>
    SERVER -> CLIENT: 250 2.1.5 [email protected]
    CLIENT -> SERVER: DATA
    SERVER -> CLIENT: 354 Start mail input; end with <CRLF>.<CRLF>
    CLIENT -> SERVER: Date: Tue, 13 Dec 2016 21:09:10 -0300
    CLIENT -> SERVER: To: =?UTF-8?Q?IF_SERT=C3O_PE_-_Centro_de_Refer=EAncia_de_Afr=E2nio?= <[email protected]>
    CLIENT -> SERVER: From: Nome <[email protected]>
    CLIENT -> SERVER: Reply-To: Nome <[email protected]>
    CLIENT -> SERVER: Subject: ajsdasd
    CLIENT -> SERVER: Message-ID: <[email protected]>
    CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.16 (https://github.com/PHPMailer/PHPMailer)
    CLIENT -> SERVER: MIME-Version: 1.0
    CLIENT -> SERVER: Content-Type: multipart/alternative;
    CLIENT -> SERVER: boundary="b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7"
    CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
    CLIENT -> SERVER:
    CLIENT -> SERVER: This is a multi-part message in MIME format.
    CLIENT -> SERVER:
    CLIENT -> SERVER: --b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7
    CLIENT -> SERVER: Content-Type: text/plain; charset=us-ascii
    CLIENT -> SERVER:
    CLIENT -> SERVER: asdad
    CLIENT -> SERVER: Nova mensagem via contato do site:Nome: nomeE-mail: [email protected]
    CLIENT -> SERVER: Assunto: ajsdasdData: 13/12/2016 21:09
    CLIENT -> SERVER:
    CLIENT -> SERVER:
    CLIENT -> SERVER: --b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7
    CLIENT -> SERVER: Content-Type: text/html; charset=us-ascii
    CLIENT -> SERVER:
    CLIENT -> SERVER: <p style="font: 14px 'Trebuchet MS', Arial, Helvetica, sans-serif; color:#333">asdad</p><hr>
    CLIENT -> SERVER: <h4>Nova mensagem via contato do site:</h4><p><strong>Nome: </strong>nome<br><strong>E-mail: </strong>[email protected]<br>
    CLIENT -> SERVER: <strong>Assunto: </strong>ajsdasd<br><strong>Data: </strong>13/12/2016 21:09</p>
    CLIENT -> SERVER:
    CLIENT -> SERVER:
    CLIENT -> SERVER:
    CLIENT -> SERVER: --b1_ba9ab7d6e3beb5a1ab88e21a743d5ac7--
    CLIENT -> SERVER:
    CLIENT -> SERVER: .
    SERVER -> CLIENT: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
    SMTP ERROR: DATA END command failed: 550 5.3.4 554-554 5.2.0 STOREDRV.Deliver; delivery result banner
    SMTP Error: data not accepted.

     

    Função do php para envio do e-mail:

    function sendMail($subject, $message, $sender, $senderName, $destination, $destinationName, $reply = NULL, $replyName = NULL) {
        require ('mail/PHPMailerAutoload.php');
    
        $mailer = new PHPMailer;
        $mailer->isSMTP();
        $mailer->SMTPDebug = 3;
        $mailer->Debugoutput = 'html';
        $mailer->CharSet = 'UTF-8';
        $mailer->SMTPAuth = true;
        $mailer->SMTPSecure = 'tls';
        $mailer->Host = mailhost;
        $mailer->Port = mailport;
        $mailer->Username = mailuser;
        $mailer->Password = mailpass;
        $mailer->SetFrom($sender, utf8_decode($senderName));
        if ($reply) {
            $mailer->AddReplyTo($reply, utf8_decode($replyName));
        }
        $mailer->AddAddress($destination, utf8_decode($destinationName));
        $mailer->Subject = "$subject";
        $mailer->isHTML(true);
        $mailer->Body = $message;
        $mailer->AltBody = strip_tags($message);
        if ($mailer->send()) {
            echo "<script>alert('E-mail enviado com sucesso!');</script>";
        } else {
            $error = 'Error -> '.$mailer->ErrorInfo;
    //        echo "<script>alert('$error');</script>";
            die("$error");
        }
    
    }

     

  3. o problema está aqui:

     

    <input value="Entrar" wtx-context="2E50E7F0-188D-4917-8E3B-33B1207CD0B4" type="submit">
                    
    #entrar {
        margin-right: -1040px;
    }

     

    tira este margin-right e bota isso:

    #entrar {
    	float: right;
    }

    a partir daí, adiciona margin-right para posicioná-lo mais para esquerda.

  4. Cara, dê uma conferida nessas margens, para que isso todo? Tem margens que tem mesma quantidade de pixels que uma tela desktop, esta por exemplo:

     

    margin-right:900px;

     

    Você pode fazer algo extremamente simples utilizando ou se baseando no sistema de grids do framework bootstrap. Dê uma olhada depois.

  5. Pode fazer algo deste tipo:

    // Função que faz conexão com o banco de dados
    $con = connection();
    
        $files = $_FILES['files'];
        $files_num = count(array_filter($files['name']));
        
        //PASTA
        $target_dir = '../uploads/';
    
        //REQUISITOS
        $file_permis = array('image/jpeg', 'image/jpg', 'image/png');
        $max_size = 1024 * 1024 * 5;
    
        //MENSAGENS
        $msg = array();
        $errorMsg = array(
            '1' => 'O arquivo enviado excede o limite definido na diretiva upload_max_filesize do php.ini.',
            '2' => 'O arquivo excede o limite definido em MAX_FILE_SIZE no formulário HTML.',
            '3' => 'O upload do arquivo foi feito parcialmente.',
            '4' => 'Nenhum arquivo foi enviado.',
            '6' => 'Pasta temporária ausente. Introduzido no PHP 5.0.3.',
            '7' => 'Falha em escrever o arquivo em disco. Introduzido no PHP 5.1.0. ',
            '8' => 'Uma extensão do PHP interrompeu o upload do arquivo. O PHP não fornece uma maneira de determinar qual extensão causou a interrupção. Examinar a lista das extensões carregadas com o phpinfo() pode ajudar. Introduzido no PHP 5.2.0. '
        );
    
        for ($i = 0; $i < $files_num; $i++) {
            $name = $files['name'][$i];
            $type = $files['type'][$i];
            $size = $files['size'][$i];
            $error = $files['error'][$i];
            $tmp = $files['tmp_name'][$i];
    //        $ext = @end(explode('.', $name));
            $ext = substr($name, -4);
            $ext = (strpos($ext, '.')) ? '.' . $ext : $ext;
            $newName = $postid . '-' . md5(uniqid(time())) . $ext;
    
            if ($error)
                $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': '" . $errorMsg['$error'] . "'</span>";
            elseif (!in_array($type, $file_permis))
                $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': Tipo da imagem não é aceitável!'</span>";
            elseif ($size > $max_size)
                $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': Imagem de tamanho maior que 5MB.'</span>";
            else {
                move_uploaded_file($tmp, $target_dir . $y . '/' . $m . '/' . $newName);
                date_default_timezone_set('America/Recife');
                $timezone = date('Y-m-d H:i:s');
                $statement = $con->prepare("INSERT INTO imagens (id, img, data) VALUES (?, ?, ?)");
                $statement->bind_param("iss", $postid, $newName, $timezone);
                $statement->execute();
                if (!$statement)
                    echo $con->error;
                $statement->close();
            }
    
            if ($msg)
                foreach ($msg as $message) :
                    echo $message . '</br>';
                endforeach;
    
        }
        $con->close();

    No html:

    <input type="file" name="files[]" />

     

  6. Estou com problema, o servidor local APACHE não está reconhecendo as folhas de estilos, e a inclusão de arquivos JAVASCRIPT também está com problemas, seguem os erros:

     

    2n7qruh.png

     

    Com uma url estática tudo é carregado certinho:

    2chlyy1.png

     

    315bx3m.png

     

     

    Entretanto, quando mudo para uma url absoluta as folhas de estilos e scripts não carregados:

    n5pmrm.png

     

    1zce1wg.png

     

     

    Como podem perceber pelas requisições feitas, com url estático os tipos saem certinhos, o que é css sai text/css, e o que é javascript, sai JS, contudo, quando boto urls absolutas, sai tudo text/html, e o navegador não reconhece.

     

    Alguém tem alguma solução?

  7. Citação

    Opa, procure instanciar o datepicker após o load da tabela, pois como está hoje, ele chama quando abre a página porém a tabela ainda não foi criada.

    
    function fetch_data() { 
      //-- REMOVE OS PLUGINS ANTIGOS 
      $(".datepicker").datepicker("destroy"); 
      $.ajax({ 
        url: "docentes/select.php", 
        method: "POST", 
        success: function (data) { 
          $('#live_data').html(data);
          //-- INSTANCIA OS NOVOS PLUGINS 
          $(".datepicker").datepicker({ 
            dateFormat: "dd/mm/yy" }); 
        } 
      }); 
    }  

     

     

     

    Créditos: andreneeto, Fórum iMasters.

     

    LInk do tópico onde obtive resposta:

    Tópico: Utilizar vários datapickers em uma tabela carregada com ajax - Fórum iMasters

    • Curtir 1
  8. Boa tarde!

     

    Este link:

    <a href="pesGeral.php?action=excluir?nfiscal=<?php echo $nota; ?>

    Não deveria ser:

    <a href="pesGeral.php?action=excluir&nfiscal=<?php echo $nota; ?>

    E se você tiver utilizando url amigável, para pegar via get tem que ter alguns cuidados, por exemplo, se sua função que cuida do url amigável tiver esta aparência:

    function getUrl() {
        $url = @$_GET['url'];
        $url = explode("/", $url);
        $url[0] = ($url[0] == NULL) ? 'index' : $url[0];
    
        if (file_exists('arquivos/' . $url[0] . '.php'))
            require_once('arquivos/' . $url[0] . '.php');
        elseif (file_exists('arquivos/' . $url[0] . '/' . $url[1] . '.php'))
            require_once('arquivos/' . $url[0] . '/' . $url[1] . '.php');
        else
            require_once('arquivos/404.php');
    }

    Você teria que especificar a url de outro jeito, por exemplo:

    <td><a href="scripts/excluirNota/<?= echo $nota; ?>/<?= echo $id; ?>"><img src="img/delEmp.png" width="25" class="excNota"/></a></td>

    Daria para recuperar a nota pegando o $url[2] e o id pegando o $url[3].

  9. Boa tarde!

     

    É o seguinte, a princípio, estou carregando uma tabela com dados mysql via ajax:

    function fetch_data() {
                    $.ajax({
                        url: "docentes/select.php",
                        method: "POST",
                        success: function (data) {
                            $('#live_data').html(data);
                        }
                    });
                }

    E em seguida faço manipulações para atualizar os dados, com isso, tudo certo. Entretanto, existe um campo da tabela que é para data, resolvi utilizar o Datepicker para deixar o campo mais elegante com a utilização de um calendário, se deparei com um problema ao utilizar vários Datepickers na mesma página, entretanto, designei uma ID única para cada input e uma classe igual para todos os inputs, classe a qual serviria de seletor para chamar a função datepicker, só que outro problema surge nessa jornada, este acontece por não estar executando a chamada da função datepicker, contudo, o seletor está correto, tem o mesmo identificador que o das classes dos inputs, não compreendo o por quê desse problema, por favor, peço vossa ajuda para a solução de meu problema, seguem códigos logo abaixo:

    $(document).ready(function(){
            $(".datepicker").datepicker({
                dateFormat: "dd/mm/yy"
            });
      )};

    Já tentei pôr eventos no input do DatePicker:

    <div class="input-group">
       <input type="text" id="date_'.$inc.'" class="form-control datepicker" onmouseover="acionaDatePicker(\'#date_'.$inc.'\')" 
                        data-id="' . $Docente['id'] . '" data-before="' . $date . '" value="'.$date.'"/>
    </div>

    e no javascript:

    function acionaDatePicker(seletor){
                $(seletor).datepicker({
                    dateFormat: "dd/mm/yy"
                });
    }

    É como se não executasse o código do javascript nos dois casos.

     

    Arquivos:

    Código gerador de tabela com informações do banco, mais tarde será carregada com auxilio do ajax via POST na div de id = "live_data":

    Spoiler
    
    <?php
    require('../../dts/dbaSis.php');
    $readDocentes = read('docentes', 'ORDER BY admissao DESC');
    $output = '
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>NOME</th>
                <th>SOBRENOME</th>
                <th>E-MAIL</th>
                <th>CURSO</th>
                <th>CENTRO DE REFERÊNCIA</th>
                <th>ADMISSÃO</th>
                <th>AÇÃO</th>
            </tr>
        </thead>
    ';
    if (count($readDocentes) > 0) {
        $output .= '<tbody>';
        $inc = 0;
        foreach ($readDocentes as $Docente) :
            $output .= '
            <tr>
                <td class="nome" data-id="' . $Docente['id'] . '" data-before="' . $Docente['nome'] . '" contenteditable>' . $Docente['nome'] . '</td>
                <td class="sobrenome" data-id="' . $Docente['id'] . '" data-before="' . $Docente['sobrenome'] . '" contenteditable>' . $Docente['sobrenome'] . '</td>
                <td class="email" data-id="' . $Docente['id'] . '" data-before="' . $Docente['email'] . '" contenteditable>' . $Docente['email'] . '</td>
                <td class="curso" data-id="' . $Docente['id'] . '" data-before="' . $Docente['curso'] . '" contenteditable>' . $Docente['curso'] . '</td>
                <td>
                    <select class="centro form-control" data-id="' . $Docente['id'] . '" data-before="' . $Docente['centro_ref'] . '">
                        <option></option>';
            $readCentro = read('centros_ref', '');
            if ($readCentro) {
                foreach ($readCentro as $Centro):
                    if ($Centro['id'] == $Docente['centro_ref']) {
                        $output .= '<option value="' . $Centro['id'] . '" selected="selected">' . $Centro['nome'] . '</option>';
                    } else {
                        $output .= '<option value="' . $Centro['id'] . '">' . $Centro['nome'] . '</option>';
                    }
                endforeach;
            }
            $date = date('d/m/Y', strtotime($Docente['admissao']));
            $output .= '</select>
                </td>
                <td class="date">
                    <div class="input-group">
                        <input type="text" id="date_'.$inc.'" class="form-control datepicker" onmouseover="acionaDatePicker(\'#date_'.$inc.'\')" 
                        data-id="' . $Docente['id'] . '" data-before="' . $date . '" value="'.$date.'"/>
                    </div>
                </td>
                <td class="text-center"><button name="btn_delete" id="btn_delete" class="btn btn-xs btn-danger" data-id="' . $Docente['id'] . '">
                <i class="glyphicon glyphicon-trash"></i></button></td>
            </tr>
            ';
        $inc++;
        endforeach;
    } else {
        $output .= '<tbody><tr>NÃO EXISTEM REGISTROS DE DOCENTES!</tr>';
    }
    $output .= '
        <tr>
            <td id="nome" contenteditable></td>
            <td id="sobrenome" contenteditable></td>
            <td id="email" contenteditable></td>
            <td id="curso" contenteditable></td>
            <td>
                    <select id="centro" class="form-control">
                        <option></option>';
    $readCentro = read('centros_ref', '');
    if ($readCentro) {
        foreach ($readCentro as $Centro):
            $output .= '<option value="' . $Centro['id'] . '">' . $Centro['nome'] . '</option>';
        endforeach;
    }
    $output .= '</select>
                </td>
            <td class="date">
                <div class="input-group" >
                    <input type="text" class="form-control" id="datetimepicker3" onmouseover="acionaTimepicker()"/>
                </div>
            </td>
            <td class="text-center"><button id="btn_add" class="btn btn-xs btn-success"><i class="glyphicon glyphicon-plus"></i></button></td>        
        </tr>
        ';
    $output .= '</tbody></table>';
    echo $output;
    ?>

     

     

    Página onde serão exibidos os dados:

    Spoiler
    
    <div class="table-responsive">
        <h3>Gerenciamento de Docentes</h3>
        <div id="live_data"></div>
        <input type="text" class="form-control datepicker" />
    </div>

     

     

    Página onde ficam os códigos JAVASCRIPT:

    Spoiler
    
    <script src="<?php setHome(); ?>/js/jquery.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <script src="js/bootstrap.js"></script>
    
    <!-- TABELA COM DADOS CARREGADOS VIA AJAX -->
    <?php
    $url = stripslashes($_GET['exe']);
    $url = explode('/', $url);
    if ($url[1] == 'new-doc-edit') {
        ?>
        <script>
            $(document).ready(function () {
                function fetch_data() {
                    $.ajax({
                        url: "docentes/select.php",
                        method: "POST",
                        success: function (data) {
                            $('#live_data').html(data);
                        }
                    });
                }
    
                fetch_data();
                $(document).on('click', '#btn_add', function () {
                    var nome = $('#nome').text(),
                        sobrenome = $('#sobrenome').text(),
                        email = $('#email').text(),
                        curso = $('#curso').text(),
                        centro_ref = $('#centro').val(),
                        admissao = $('#datetimepicker3').val();
                    if (nome == '' || sobrenome == '' || email == '' || curso == '' || centro_ref == '' || admissao == '') {
                        return false;
                    }
                    $.ajax({
                        url: "docentes/insert.php",
                        method: "POST",
                        data: {
                            nome: nome,
                            sobrenome: sobrenome,
                            email: email,
                            curso: curso,
                            centro_ref: centro_ref,
                            admissao: admissao
                        },
                        dataType: "text",
                        success: function () {
                            alert('Dados adicionados com sucesso!');
                            fetch_data();
                        }
                    });
                });
    
                function update(id, text, column_name) {
                    $.ajax({
                        url: "docentes/update.php",
                        method: "POST",
                        data: {
                            id: id,
                            text: text,
                            column_name: column_name
                        },
                        dataType: "text",
                        success: function () {
                            alert('Dados atualizados com sucesso!');
                        }
                    });
                }
    
                $(document).on('blur', '.nome', function () {
                    var id = $(this).data("id"),
                        text = $(this).text(),
                        before = $(this).data("before");
                    if (before != text) {
                        update(id, text, "nome");
                    }
                });
    
                $(document).on('blur', '.sobrenome', function () {
                    var id = $(this).data("id"),
                        text = $(this).text(),
                        before = $(this).data("before");
                    if (before != text) {
                        update(id, text, "sobrenome");
                    }
                });
    
                $(document).on('blur', '.email', function () {
                    var id = $(this).data("id"),
                        text = $(this).text(),
                        before = $(this).data("before");
                    if (before != text) {
                        update(id, text, "email");
                    }
                });
    
                $(document).on('blur', '.curso', function () {
                    var id = $(this).data("id"),
                        text = $(this).text(),
                        before = $(this).data("before");
                    if (before != text) {
                        update(id, text, "curso");
                    }
                });
    
                $(document).on('blur', '#datetimepicker4', function () {
                    var id = $(this).data("id"),
                        val = $(this).val(),
                        before = $(this).data("before");
                    if (before != val) {
                        update(id, val, "admissao");
                    }
                });
    
                $(document).on('blur', '.centro', function () {
                    var id = $(this).data("id"),
                        val = $(this).val(),
                        before = $(this).data("before");
                    if (before != val) {
                        update(id, val, "centro_ref");
                    }
                });
    
                $(document).on('click', '#btn_delete', function () {
                    var id = $(this).data("id");
                    $.ajax({
                        url: "docentes/delete.php",
                        method: "POST",
                        data: {
                            id: id
                        },
                        dataType: "text",
                        success: function () {
                            alert('Dados apagados com sucesso!');
                            fetch_data();
                        }
                    });
                });
            });
        </script>
    <?php } ?>
    
    <script>
        $(document).ready(function(){
            $(".datepicker").datepicker({
                dateFormat: "dd/mm/yy"
            });
            function acionaDatePicker(seletor){
                $(seletor).datepicker({
                    dateFormat: "dd/mm/yy"
                });
            }
        });
    </script>

     

     

    Caso eu não tenha sido claro quanto a minha dúvida, por favor, informem.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!