Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 15:36

Sabendo que uma janela modal que usa um frame vai aparecer após ser chamada, mas a mesma já está "ativa" porém invisível... É POSSÍVEL abrí-la com dados do id requerido, através de métodos como $_GET e/ou $_POST?

Uma janela/modal simples que usa no link:
<a href="#" class="comments" data-news="comments">Notícia nº <?echo$id?></a>

E em seu plugin jQuery:

$(document).ready(function() {                 //Link                 $('a[data-news]').live('click', function(e) {                 e.preventDefault();                 var modalLocation = $(this).attr('data-news');                   var masklemHeight = $(document).height();                 var masklemWidth = $(window).width();                         //Background                 $('#masklem').css({'width':masklemWidth,'height':masklemHeight});                 $('#masklem').fadeIn(1000);                     $('#masklem').fadeTo("slow",0.9);                         //Largura e altura da janela                 var winH = $(window).height();                 var winW = $(window).width();                                 //Centralizar janela                 $('#comment').css('top',  winH/2-$('#comment').height()/2);                 $('#comment').css('left', winW/2-$('#comment').width()/2);                 $('#comment').fadeIn(2000);                   //Fechar janela/modal                 $('.window .close').click(function (e) {                 e.preventDefault();                   $('#masklem').hide();                 $('.window').hide();         });             }); });

Será que é no plugin jQuery que entra as variáveis que imporão à janela/modal, listar os dados referentes ao '$id'? Talvez algo como:
type:'GET'
url:'caminho_news_$id'
load:'{id:id}'

Será que É POSSÍVEL?

Obrigado!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 15:47

A janela é frame ou iframe? Como está o código dele?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 16:13

É um iframe.
<div id="boxes"> <div id="comment" class="window"> <div id="close" class="close" style="cursor: pointer; position:absolute; left:625px; top:-10px"> <img border="0" src="images/icons/close.png" width="40" height="40" align="right"></div> <iframe src="clientes/comments.php" name="comment" border="0" frameborder="0" align="left" width="662" height="340" scrolling="no" target="_blank" allowtransparency="true"></iframe> </div>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 16:21

Coloca assim no ready do jQuery

$('.comments').click(function() { // <a href="#" class="comments"....   $('#iframe').attr('src','outrolink.php'); //<iframe src="clientes/comments.php" id="iframe"....   });

Como mostrado no código, você vai ter que adicionar o id iframe para seu iframe.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 16:52

Continua vazio...

$(document).ready(function() {                                 //Link                 $('a[data-news]').live('click', function(e) {                 e.preventDefault();                 var modalLocation = $(this).attr('data-news');                                 //web                 $('.comments').click(function() { // <a href="#" class="comments"....                 $('#frame_c').attr('src','clientes/comments.php'); //<iframe src="clientes/comments.php" id="iframe"....                 });                                 var masklemHeight = $(document).height();                 var masklemWidth = $(window).width();                         //Background                 $('#masklem').css({'width':masklemWidth,'height':masklemHeight});                 $('#masklem').fadeIn(1000);                     $('#masklem').fadeTo("slow",0.9);                         //Largura e altura da janela                 var winH = $(window).height();                 var winW = $(window).width();                                 //Centralizar janela                 $('#comment').css('top',  winH/2-$('#comment').height()/2);                 $('#comment').css('left', winW/2-$('#comment').width()/2);                 $('#comment').fadeIn(2000);                   //Fechar janela/modal                 $('.window .close').click(function (e) {                 e.preventDefault();                   $('#masklem').hide();                 $('.window').hide();         });             }); });

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 17:01

Você colocou o código dentro de uma function

$('a[data-news]').live('click', function(e) {

Coloca o código logo após o ready
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 17:29

Continua vazio...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 17:33

Como ficou o código? Tem online?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 18:03

Estou fazendo os teste OFF, por enquanto...

$(document).ready(function() {                 //Link                 $('a[data-news]').live('click', function(e) {                 e.preventDefault();                 var modalLocation = $(this).attr('data-news');                                 var mask_cHeight = $(document).height();                 var mask_cWidth = $(window).width();                                         //Background                 $('#mask_c').css({'width':mask_cWidth,'height':mask_cHeight});                 $('#mask_c').fadeIn(1000);                      $('#mask_c').fadeTo("slow",0.9);                         //Largura e altura da janela                 var winH = $(window).height();                 var winW = $(window).width();                                 //Centralizar janela                 $('#comment').css('top',  winH/2-$('#comment').height()/2);                 $('#comment').css('left', winW/2-$('#comment').width()/2);                 $('#comment').fadeIn(2000);                   //Fechar janela/modal                 $('.window .close').click(function (e) {                 e.preventDefault();                   $('#mask_c').hide();                 $('.window').hide();         });             });                 //web                 $('.comments').click(function() {                 $('#frame_c').attr('src','clientes/comments.php');                 }); });

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 18:17

O código parece correto. O Iframe está corretamente com o id chamado ai?

<iframe id="frame_c"....

Eu estou testando aqui localmente com o código abaixo e funciona sem problema. Só se algum código do seu script está anulando o do iframe.

<script src="jquery.js"></script>   <script> $(document).ready(function() { $('.comments').click(function() {   $('#iframe').attr('src','teste2.php');   }); }); </script>


<a class="comments">link</a> <iframe id="iframe" name="" rows="" cols=""></iframe>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 19:34

Não sei dizer...
Na página onde chamo a janela/modal (comments.php) tem várias materias, por impressão (aquela que vc me ajudou anteriormente), pois bem, ao clicar no link comentar (a href="#" class="comments" data-news="comments">Notícia nº <?echo$id?></a>), vai chamar a página comments.php que tem:

<?php  session_start(); include "../system/config.php";     date_default_timezone_set('America/Sao_Paulo');     $data    = date("d/m/y");     $hora    = date("H:i"); $id = $_GET["id"]; $sql_e = mysql_query("SELECT * FROM noticias WHERE id ='$id'"); $sql = mysql_query($sql) or die(mysql_error()); while($coluna = mysql_fetch_array($sql_e)){ $id = $coluna["id"]; $photos = $coluna["photos"]; $cliente = $coluna["cliente"];     $_SESSION['id'] = "$id";     $_SESSION['cliente'] = "$cliente";     $_SESSION['photos'] = "$photos";      } ?> <!doctype html> <head> (etc...)

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 19:41

Mas o problema aparentemente está no script, que não define o src com o documento a ser aberto no iframe.

$('.comments').click(function() { $('#frame_c').attr('src','clientes/comments.php'); });

Como definido acima, quando o link com a class comments receber um click, irá definir o src do iframe com id frame_c

Tem o link para esse plugin de janela modal que está usando?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 20:16

Meu amigo me disse agora a pouco que não é possível passar dados para um modal, pq a janela já está ativa...
Veja aqui, como está meu modal (vazio)
http://infosoftbh.ueuo.com/printscreen_comments.jpg
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 20:26

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 20:39

Como eu imaginei. Aparentemente você não mudou o id do iframe, por isso o script não acha o iframe.

O objeto e o id do iframe tem que ser o mesmo

$('.comments').click(function() { $('#frame_c').attr('src','teste2.php'); });


<iframe src="clientes/comments.php" id="frame_c" name="comment" border="0" frameborder="0" align="left" width="662" height="340" scrolling="no" target="_blank" allowtransparency="true"></iframe>

Note que ambos tem o mesmo id

$('#frame_c').attr('src','teste2.php');

iframe src="clientes/comments.php" id="frame_c"

Acabei de testar e funcionou sem problema aqui.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 20:56

está com id frame_c, veja:
<div id="boxes"> <div id="comment" class="window"> <div id="close" class="close" style="cursor: pointer; position:absolute; left:625px; top:-10px"> <img border="0" src="images/icons/close.png" width="40" height="40" align="right"></div> <iframe src="clientes/comments.php" name="comment" id="frame_c" border="0" frameborder="0" align="left" width="662" height="340" scrolling="no" target="_blank" allowtransparency="true"></iframe> </div> <div id="mask_c"></div>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 21:17

Veja que funciona, nesse link http://codigosnaweb.com/teste.php

O iframe começa com um arquivo que não existe no meu servidor

<iframe src="clientes/comments.php"

Ao clicar no botão, é adicionado no src um arquivo de teste que existe no meu servidor

$('#frame_c').attr('src','teste2.php');

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 21:35

OK, mas acho que não é tão simples assim...
No meio de vários id's listados numa página, cada um com um link...
O user clica num dos "Comentar" então a modal deve abrir com o id do link que ele clicou...
já "fucei" pra caramba... e no meio de tanto mexer, ou fica vazio ou sempre aparece o id=1
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 21:40

Então funcionou, o problema agora é passar o id para o script, correto?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 22:15

Não... estou falando do seu exemplo... ele só funfou no Chrome
Sobre o meu... A modal sempre abriu, mas não lista nada... o problema é que o id não está passando!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

29-06-2013 22:20

Testei no ie, firefox, chrome e opera. Funcionou em todos. Não sei porque não funciona ai.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

29-06-2013 23:16

O meu tbm funciona em todos... só não testei no opera!
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

30-06-2013 01:34

Olá web, coloquei um exemplo aqui: http://infosoftbh.ueuo.com/teste/news.php
Tem que clicar no botão VERDE para abrir o modal. (use o primeiro que tem imagem)

Se vc clicar em "Comentários" antes do botão VERDE a sessão foto e nome é montada e aparecem no modal, porém o id NUNCA aparece... notei isso somente agora, tentando montar este exemplo pra vc.

Usei um var_dump e o valor está NULL, vou verificar.

Obrigado!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17658
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Passar dados para janela/modal

30-06-2013 02:17

Você vai precisar passar o id do link clicado. Veja nesse exemplo

<a href="#" class="comments" data-news="comments" id="1">Notícia nº 1</a> <a href="#" class="comments" data-news="comments" id="2">Notícia nº 2</a>

No lugar no número, você vai colocar o string para o id

Se baseia nesse exemplo para o jQuery

$('.comments').click(function() { $('#frame_c').attr('src','clientes/comments.php?tempo='+new Date().getTime()+'&id='+$(this).attr('id')); });

São enviado 2 valores:

tempo: usado para que o arquivo de comentário identifique um novo id a cada clique "o id clicado"
id: que é o passado no link, que vai ser pego por:

echo $_GET['id']; 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 120
Sexo: Masculino

Passar dados para janela/modal

30-06-2013 13:56

RESOLVIDO
Poxa web, você é "o cara" (meu amigo ficou "besta" kkkkk)
Tô falando pra todo mundo vir pra este fórum!
Ficou assim:

$(document).ready(function(pox) {                 //Link                 $('a[data-news]').live('click', function(es) {                 es.preventDefault();                 var modalLocation = $(this).attr('data-news');                                 var mask_cHeight = $(document).height();                 var mask_cWidth = $(window).width();                                 //Background                 $('#mask_c').css({'width':mask_cWidth,'height':mask_cHeight});                 $('#mask_c').fadeIn(1000);                      $('#mask_c').fadeTo("slow",0.9);                         //Largura e altura da janela                 var winH = $(window).height();                 var winW = $(window).width();                                 //Centralizar janela                 $('#comment').css('top',  winH/2-$('#comment').height()/2);                 $('#comment').css('left', winW/2-$('#comment').width()/2);                 $('#comment').fadeIn(2000);                   //Fechar janela/modal                 $('.window .close').click(function (es) {                 es.preventDefault();                   $('#mask_c').hide();                 $('.window').hide();         });             });                 //web ->http://www.codigosnaweb.com/forum/viewtopic.php?f=3&t=7960&st=0&sk=t&sd=a&start=15                 $('.comments').click(function() {                 $('#frame_c').attr('src','clientes/comments2.php?tempo='+new Date().getTime()+'&id='+$(this).attr('id'));                 }); });

Troquei alguns "detalhes" por causa dos vários teste (rsrs)
Veja o demo: http://infosoftbh.ueuo.com/teste/news.php

Então o servidor manda o valor para o micro e depois recebe de volta... Não é isso?
nesta linha:

$('#frame_c').attr('src','clientes/comments2.php?tempo='+new Date().getTime()+'&id='+$(this).attr('id'));

Só assim a janela/modal pode mudar os valores, uma vez que ela já está ativa para ser aberta mais rápida e evitar os bloqueadores de popup.

Não compreendi a lógica do tempo... fiz um teste sem ele e funcionou! De qualquer forma há um "delay", então vou colocar um loading com sleep, rsrs.

Você é um gênio!
Deus te abençoe... Luz e Paz!attr('src','clientes/comments2
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado