Jump to content


Photo

Chamar Div A Partir De Um Asp


  • Faça o login para participar
6 replies to this topic

#1 abc2

abc2

    Cuidado com o Narcisismo

  • Usuários
  • 546 posts
  • Sexo:Não informado
  • Localidade:Blumenau/SC

Posted 25/02/2009, 09:42

Olá, bom dia a todos.
Não sei se estou postando na área correta, e já procurei mas não achei nada parecido... Seguinte:

Tenho vários registros vindo de um banco de dados, cada qual com seu próprio id. Preciso fazer um link para cada registro onde abra uma div conforme o seu id...

Por exemplo:
<a href="#" onclick="FUNCAO_DIV('<%=valor%>');">

e a div eu gostaria que fosse desta forma:
<div id="QUALQUER_NOME" style="display:none; position:absolute;left:0px;top:0px;height:100%;width:100%; z-index:3;">
<iframe src='iframe.asp?valor=<%=request("valor")%>' id="QUALQUER_NOME" frameborder='0' width='650' height='550' scrolling="no"></iframe>
</div>

É possível?

#2 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 25/02/2009, 14:55

O código parece correto, qual é o problema?

Se o que falta é a FUNCAO_DIV, aqui vai algo que possa usar:

<script>
function FUNCAO_DIV(id) {
   document.getElementById(id).style.display = 'block';
}
</script>

[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.

#3 abc2

abc2

    Cuidado com o Narcisismo

  • Usuários
  • 546 posts
  • Sexo:Não informado
  • Localidade:Blumenau/SC

Posted 25/02/2009, 15:16

Oi fiote, obrigado pela resposta, esta sua função funcionou corretamente...

Mas na verdade o que eu quero é uma div genérica (válida para todos os registros), sendo que apenas o valor do iframe seria alterado conforme o id escolhido entende? Pq deste jeito eu teria que ter uma div para cada registro, e são muitos.

por exemplo:
Clica no registro id 1 > chamar a div QUALQUER > chama o iframe 1
Clica no registro id 2 > chamar a div QUALQUER > chama o iframe 2
Clica no registro id 3 > chamar a div QUALQUER > chama o iframe 3
e assim por diante...

Não sei se isto é possível ou não... <_<


-------- EDITANDO --------
Consegui fazer a função/div genérica, exatamente como eu quero! O problema é que a div aparece numa nova página, e não sobre a página atual entenderam? Além disso, como posso substituir o XXX do iframe.asp?valor=XXX pelo valor FUNCAO_DIV(id)
<script>
function FUNCAO_DIV(id) {
//alert(id)
//document.getElementById(id).style.display = 'block';

document.write('<div id="QUALQUER" style="display:block; position:absolute;left:0px;top:0px;height:100%;width:100%; z-index:1;">')
document.write('<iframe src="iframe.asp?valor=XXX" frameborder="0" width="650" height="550" marginheight="0" marginwidth="0" scrolling="no"></iframe>')
document.write('</div>')
}
</script>

Acredito que são coisas simples, mas não estou conseguindo ver onde está o erro.

Edição feita por: abc2, 25/02/2009, 15:36.


#4 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 25/02/2009, 19:24

A função document.write, quando chamada numa página que já foi carregada sempre vai gerar uma página nova.

Sobre o valor da função, a alteração abaixo resolveria.
document.write('<iframe src="iframe.asp?valor='+id+'" frameborder="0" width="650" height="550" marginheight="0" marginwidth="0" scrolling="no"></iframe>');

Pra fazer o que você quer, você terá que criar o elemento ao chamar a função.

Eu estou acustumado ao Mootools e não sei o código javascript puro para fazê-lo. No meu caso seria algo assim:
var Div = new Element('div').set('style','display:block; position:absolute; left:0px; top:0px; height:100%; width:100%; z-index:1;');
Div.innerHTML = '<iframe src="iframe.asp?valor='+id+'" frameborder="0" width="650" height="550" marginheight="0" marginwidth="0" scrolling="no"></iframe>';
Div.inject(document.body);

Ou algo assim...

Edição feita por: fiote, 25/02/2009, 19:25.

[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.

#5 abc2

abc2

    Cuidado com o Narcisismo

  • Usuários
  • 546 posts
  • Sexo:Não informado
  • Localidade:Blumenau/SC

Posted 26/02/2009, 09:22

Não conhecia esse Mootools, dei uma pesquisa, li o tutorial do site deles e oalááá funcionou corretamente, do jeito que eu quero :lol:

Entretanto, como faço para Fechar a div que foi aberta?

Segue o código completo que está funcionando:
BUSCO A BIBLIOTECA MOOTOOLS
<script type="text/javascript" src="../inc/mootools.js"></script>

CRIO A DIV USANDO ELEMENTO DO MOOTOOLS
<script language="JavaScript" type="text/JavaScript">
function novo(id) {
var Div = new Element('div').set('style','display:block; position:absolute; left:0px; top:0px; height:100%; width:100%; z-index:1;');
Div.innerHTML = '<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0" background="../img/fundo_div.gif"><tr><td align="center" valign="middle"><iframe src="novo.asp?data='+id+'" frameborder="0" width="500" height="320" marginheight="0" marginwidth="0" scrolling="no"></iframe></td></tr></table>';
Div.inject(document.body);
}
</script>

CHAMO O LINK PARA A FUNÇÃO
<a href="java script:novo('<%=data%>');">


#6 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 26/02/2009, 09:37

Ok, altere a linha:
var Div = new Element('div').set('style','display:block; position:absolute; left:0px; top:0px; height:100%; width:100%; z-index:1;');

Para:
var Div = new Element('div').set('style','display:block; position:absolute; left:0px; top:0px; height:100%; width:100%; z-index:1;');
Div.set('id','div_'+id);

Pronto, agora nossa Div tem um ID.

function fechaDiv(id) {
	document.getElementById('div_'+id).style.display = 'none';
}

Edição feita por: fiote, 26/02/2009, 09:37.

[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.

#7 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 22/11/2017, 20:00

Vriligy viagra Achat Cialis 20 Ligne
Is Keflex Good For Strep Throat Prescription Free 2 5 Next Day Viagra buy viagra Cephalexin Replacement For Dogs Zithromax 5 Day Z Discount Online Cialis




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq