Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

diokhan

variavel modal box

Mensagens Recomendadas

diokhan

boas,

eu tenho um modal box para mostrar informações sobre um registo, e ao fazer a query para mostrar os dados na modal box eu preciso do WHERE no sql para limitar o id_project apenas aquele que quero ver, como posso fazer isto? o meu código esta assim:

// aqui chamo o modal
<td align=center>
<a class='example8' href='#'> // preciso passar o id do projecto aqui
	<img src='images/find.png' border='0' align='center'></a>
</td>


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

a query esta feita e a funcionar, o meu problema é passar uma variável do php para dentro do modal, a variável contem o id do projecto que preciso para terminar a query e apresentar os dados apenas de um determinado projecto


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Caya

// aqui chamo o modal
<td align=center>
        <a class='example8' href='?id_project=<?=$id_project?>'> // preciso passar o id do projecto aqui
                <img src='images/find.png' border='0' align='center'></a>
</td>

Ficas com o $_GET['id_project']

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

tentei como disseste e não envia o valor, do outro lado fica em branco a variável, e tentei assim:

<td align=center>
<a class='example8' href='#'>
	<img src='images/find.png' border='0' align='center'></a>";
        $id = $r->ID_PROJECT;
        echo $id;
echo"</td>";

mas fica sempre o mesmo $id, não muda, e esta dentro de um ciclo while, para aparecer os vários idProjects


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Caya
<?php $id = $r->ID_PROJECT; ?>
<td align=center>
        <a class='example8' href='?id_project=<?=$id?>'>
                <img src='images/find.png' border='0' align='center'></a>";
                echo $id;
echo"</td>";

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

agora devolve-me sempre o ultimo $id, é sempre o mesmo, como a pouco, a diferença que antes devolvia o 1º $id e agora é o último 🤔


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

eu fui ver o código fonte da minha pagina através do Firefox, e la tenho a query feita com todos os ids, mas sempre que chamo a modal aparece sempre com o 1º id que apanha, neste caso o 15


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

Quanto a fazer a modal já funciona, mas agora surgiu-me outro problema com a minha solução.

<script type="text/javascript" src="javascript/project.js"></script>

<script type="text/javascript" src="js/mootools.js"></script>
<script type="text/javascript" src="js/moodalbox.js"></script> 
<link rel="stylesheet" href="css/moodalbox.css" type="text/css" media="screen" />

se eu comentar a linha em hightlight funciona o menu como deve ser, mas se não comentar funciona a modal com os dados que quero apresentar mas depois o meu menu não funciona, deixa de aparecer os sub níveis 🤔

um ficheiro de javscript esta a bloquear o outro, há forma de corrigir isto?


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

mas os scripts que eu uso são todos que saco da net, poucos são os que eu faço por mim, só mesmo os css e assim, o que é js e assim são os que vem da net com os scripts que arranjo para o que preciso 🤔

não há forma de só chamar um script ao clicar num botão ou algo do género?


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
sc0rpion

A modalbox usa prototype não é? Provavelmente isso são conflitos entre as frameworks.

Também já me aconteceu por estar a usar jquery e ter incluído um script em prototype. Basicamente o script em prototype funcionava e tudo o que era jquery não. O problema era da forma de declaração. Com pequenas alterações que estavam no manual da framework deu para safar (apesar de mais tarde eu ter trocado o script por outro em jquery).

Assumindo que é o mesmo tipo de problema, é uma questão de dares uma vista de olhos na documentação das frameworks e verificares se existem alterações que evitem os conflitos.

É por este tipo de situações que eu uso só uma framework por projecto.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

Se for um conflito, no jquery em vez de usar

$('#a').funcao();

usa

$lala('#a').funcao();

* "lala" é apenas um nome, podes por o nome que quiseres .. A isto chama-se de namespace, e o objectivo é evitar colisões entre objectos da mesma framework / frameworks diferentes.

E caso estejas a usar 2 frameworks, considera mudar para uma só, porque além de colisões o sistema vai ficar muito mais pesado. Podes não notar agora, mas em pc's menos potentes corres o risco (e nao e dificil) do browser bloquear.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

tao e se eu fizer como disseste,

$lala('#a').funcao();

o $lala só preciso declarar aqui ou preciso declarar em algum outro lado também?

desde já agradeço toda a ajuda e explicações  :P


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

boas,

tentei como disseste yoda.pt mas não funcionou, se deixei assim ao clicar não aparecia a modal, há forma de identificar cada modal que vai fazer? porque por exemplo, no código fonte da página aparece todas as modals com as informações mas ele só vai buscar o 1º que faz, e preciso separar por id

por exemplo, eu tenho este script para chamar a modal:

´<script type="text/javascript">
$(document).ready(function(){
	$(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject($id)"});
});
</script>

e do outro lado tenho:

<div id='qualityProject$idProj' style='padding:10px; background:#fff;'>

onde eu tenho no script "($id)", não há forma de la colocar a variável a apanhar os ids dos projectos? que o script tenho de chamar antes do head do html, e eu só declaro a variável no body


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

o que preciso fazer é algo do tipo, ao clicar num botão aparecer a informação do projecto, cada projecto tem um botão, e para saber qual informação preciso ir buscar eu passo o idProject, só que como estou a fazer só me vai buscar um id, o sistema não esta a apanhar o id para cada projecto


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

<script type="text/javascript">
$(document).ready(function(){
	for (var i = 1; i < 200; i++) 
	{
		$(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject"+i});
	}
});
</script>

eu pensei em fazer algo deste género, mas não funcionou, tenho algum erro ou assim? 🤔


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

é html

tenho assim o meu <head>:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<script type="text/javascript" src="javascript/jquery-1.2.6.pack.js"></script>
<script type='text/javascript' src='javascript/jquery.autocomplete.pack.js'></script>

<script type="text/javascript" src="javascript/project.js"></script>

<link type="text/css" media="screen" rel="stylesheet" href="css/colorbox.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="javascript/jquery.colorbox.js"></script>

<script type="text/javascript">
        $(document).ready(function(){
                for (var i = 1; i < 200; i++)
                {
                        $(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject"+i});
                }
        });
        </script>

<!-- Autocomplete Formatting -->
<link rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" />
<script type="text/javascript">
$().ready(function() {
	$("#targetDiv1").autocomplete("autocomplete/mysql1.php", {
		width: 145,
		selectFirst: true
	});
});
</script>


<title>BioCant - Project Manager</title>
</head>


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

sim estão, e fiz isto para não entrarem em conflito:

<script type="text/javascript" language="javascript">
var $a = jQuery.noConflict();
$a(document).ready(function(){

		$a(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject15"});

});
</script>

mas há um que não funciona bem


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.