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

Popup Com Window.open Não Funciona Com Php?


EliasIII

Pergunta

Boa noite gostaria em primeiro lugar parabenizar o pessoal do scriptbrasil, achei muito legal o site...muito mesmo...

Bom eu e um colega meu estamos desenvolvendo uma home com PHP/MYSQL, e colomos uma rotina para recuperar do banco uma imagem com alguns detalhes quando o usuario digita uma palavra ele mostra a figura e ao clicar na figura ele vão abrir em outra janela com o:


function detalhes() 
{ 
window.open("teste.php","","width=700,height=500,top=10,left=70,status=no,toolbar=no,scrollbars=no"); 
} 

AQUI A CHAMADA DA FUNÇÃO-->

<a href="java script:detalhes()"> <input name="img" type="image" id="img" value="<?php echo $consulta['foto'];?>" src=".../..<?php echo $consulta[foto];?>" alt="Clique para ver detlhes do produto !!! " width="50" height="50"></a>

Se alguém se dispuser a tentar me ajudar....serei grato, pois ele até abre em uma nova janela porem não obedeçe os PARAMETÔS (status=no,toolbar=no,scrollbars=no, menubars=no")

????? posso mandar o codigo por email, pois não cosegui postar aqui..!!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

você não pode usar um botão dentro de uma tag A.

você tem duas saídas (escolha uma):

<input name="img" type="image" id="img" value="teste" src="icon.gif" alt="Clique para ver detlhes do produto !!! " width="50" height="50" onClick="detalhes()">

<a href="java script:detalhes()">

<img id="img" src="icon.gif" border="0" alt="Clique para ver detlhes do produto !!!" width="50" height="50">

</a>

Link para o comentário
Compartilhar em outros sites

  • 0

você não pode usar um botão dentro de uma tag A.

você tem duas saídas (escolha uma):

<input name="img" type="image" id="img" value="teste" src="icon.gif" alt="Clique para ver detlhes do produto !!! " width="50" height="50" onClick="detalhes()">

<a href="java script:detalhes()">

<img id="img" src="icon.gif" border="0" alt="Clique para ver detlhes do produto !!!" width="50" height="50">

</a>

Boa noite caro rajneesh,

Então, eu usei as duas opções e não resolveu, na primeira chamando com o evento ONCLICK, ele ate abre um popup, porem não busca no banco de dados as descrições da foto, na segunda a mesma coisa..!??

Será que você teria mais alguma idéia ??

ps.: Se quiser de mando uma MP com o fonte para você analisar...!!

Grato pela atenção...

Elias

Link para o comentário
Compartilhar em outros sites

  • 0

O popup tá funcionando (abrindo) como você keria?

Se sim, você tem que rever seu código PHP ... pode postar aqui mesmo usando a [c o d e] e [/ co d e]

Ok ...segue abaixo o codigo, ele ate abre como quero, mas eu não consigo achar o erro no php...se puder me ajudar..:

<?php 
require_once("");
?>
<html>
<head> <title>
Amostra de Produtos 
</title>
</head>
<style type="text/css">
<!-- 
table{color: red; font-family: verdana; font-size: 10px; font-trnaform: capitalize; text-align:justify}
b{color: black; font-family: verdana; font-size: 10px; font-trnaform: capitalize}
input,img{border-style:double; border-color:gray}
hr{border-style:solid; border-color:#ff0000}
-->
</style>
<body background="" bgproperties="fixed">
aqui-----> <script language="javascript">
                    function Janela()
{
   window.open('teste.php',"","width="",height="",top="",status=no, toolbars=no,scrollbar=no";)
}
</script>
<dd><table width="350" border="0">
  <?php 
  //recupera os itens da pagina postada, para a seleção na base de dados
$pagina = $_POST['pagina'];
$campo = $_POST['chave'];
$tbtemp = mysql_fetch_row(mysql_query("SELECT `categoria` FROM `categorias` WHERE `cod_categoria` = '" . $_POST['categorias'] . "'"));
$campo1 = $tbtemp[0];
$campo2 = $_POST['subcategorias'];
//echo $pagina . '<br>' . $campo1 . '<br>'. $campo2;
if(($campo == '')&&($campo1 == '')&&($campo2 == '0')){
?>
  <script>
 alert("Você deve informar uma categoria !!!!")
 window.location='....' 
  </script>
  <?
}
//verifica de que página estão sendo postadas as informações( Ajax ou  index), e faz a bisca na base de dados
if($pagina == "pesquisa"){
$sql = mysql_query("select * from produtos where palavra_chave ='$campo' or categoria='$campo'");
}
elseif(($pagina == "ajax1") and ($campo2 == '0')){
$sql = mysql_query("select * from produtos where categoria='$campo1'");
}
elseif($pagina == "ajax1"){
$sql = mysql_query("select * from produtos where categoria='$campo1' && subcategoria='$campo2'");
}
elseif(($pagina == '')&&($campo1 == '')&&($campo2 == '')){
$sql = mysql_query("select * from produtos");
}
else{
?>
  <h1 align="center"> Você deve selecionar uma categotia primeiro !!!!!</h1>
  <?
}
// enquanto mão selecionar todos os intens da verificação feita na consulta no banco de dados, não finaliza a construççao da tabela com as imagens
while($consulta = mysql_fetch_array($sql)){
?>
  <tr> 
    <td width="105" rowspan="6" align="center">
 <form action="......" method="post" target="_blank">
          <input type="hidden" name="foto" value="<?php echo $consulta[foto];?>">
 aqui-----> <a href="java script:Janela('teste.php','400','600')"><input name="imagem" type="image" src="..../<?php echo $consulta[foto];?>" alt="Clique para ver em tamanho original !!! " width="50" height="50"></a>
   </form>
    </td>
  </tr>
  <tr> 
    <td width="235"> <b>Produto:</b> <?php echo $consulta['descricao'];?> </td>
  </tr>
  <!--     <tr><td> <b>categoria:</b> <?= $consulta['categoria']?> </td></tr> -->
  <tr> 
    <td width="235"> <b>Marca:</b> <?php echo $consulta['marca'];?> </td>
  </tr>
  <tr> 
   <!--  <td width="170"> <b>Qtd:</b> <?php echo $consulta['quantidade'];?> </td> -->
  </tr>
  <td width="235"> <b>Valor:</b> <?php echo str_replace('.',',',$consulta['valor']);?> 
</td>
</tr>
<td width="235"> <b>Obs:</b> <?php echo $consulta['obs'];?> </td>
 </tr></tr>
  <tr> 
    <td colspan="2" align="center"><hr></td>
 <?
}
?>
</table>

grato pela atenção B)

Elias

Link para o comentário
Compartilhar em outros sites

  • 0
function Janela()

{

window.open("teste.php","","width=100, height=100, status=no, toolbars=no, scrollbar=no";)

}

<a href="java script:Janela('teste.php','400','600')"><input name="imagem" type="image" src="..../<?php echo $consulta[foto];?>" alt="Clique para ver em tamanho original !!! " width="50" height="50"></a>

A sua funcao não faz uso de passagem de parametros, então você não pode fazer Janela('teste.php','400','600').

Apenas Janela().

Link para o comentário
Compartilhar em outros sites

  • 0
function Janela()

{

window.open("teste.php","","width=100, height=100, status=no, toolbars=no, scrollbar=no";)

}

<a href="java script:Janela('teste.php','400','600')"><input name="imagem" type="image" src="..../<?php echo $consulta[foto];?>" alt=Clique para ver em tamanho original !!! " width="50" height="50"></a>

A sua funcao não faz uso de passagem de parametros, então você não pode fazer Janela('teste.php','400','600').

Apenas Janela().

Boa noite ,

Cara tambem ele ate abre mas não atraz nada do banco quando uso assi:

<form action="teste.php" method="post" target="_blank">

<input type="hidden" name="foto" value="<?php echo $consulta['cod_produto];?>">

<a href="java script:detalhes()">

QUANDO USO ASSIM=<img id="img" value="<?php echo $consulta['foto'];?>" src="../fotos/<?php echo $consulta[foto];?>" alt="Clique para ver detlhes do produto !!! " width="50" height="50"></a>

</form>

mas quando uso assim:

<form action="teste.php" method="post" target="_blank">

<input type="hidden" name="foto" value="<?php echo $consulta[foto];?>">

ASSIM = <a href="java script:Janela('teste.php')"> ASSIM = <input name="imagem" type="image" src="..../<?php echo $consulta[foto];?>" alt="Clique para ver em tamanho original !!! " width="50" height="50"></a>

</form>

Como INPUT , ele abre em uma popup, mas não obedece os paramentros:

resizable=no,status=no,toolbar=no,scrollbars=no

Parece até brincadeira.....mas obrigado mesmo pela atenção... :(

Abraços Elias

Link para o comentário
Compartilhar em outros sites

  • 0

Pra enviar os dados, você precisa submeter o formulário. Tente assim:

<form action="(...)" method="(...)" onSubmit="Janela()">

(...)

<input type="hidden" name="foto" value="<?php echo $consulta[foto];?>">

<input name="imagem" type="image" src="..../<?php echo $consulta[foto];?>" alt="Clique para ver em tamanho original !!! " width="50" height="50">

(...)

</form>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Guilherme -

eu tenho a solução para você cara, e passei por esse problema também, mas consegui resolver me baseando no exemplo de login do site PHPbrasil.com (isto não é propaganda), lá você digita seu login e senha, clica em um Botão, e por javascript esses dados no método POST são passadas a nova janelinha... vendo os códigos que eles usavam na página e realizando vários testes consegui uma solução, vou postar os meus códigos, talvez te ajudem, ok.

ARQUIVO function.js

// JavaScript Document

function isWhitespace(s)

{

var whitespace = " \t\n\r";

if (s.length == 0) {

return true;

} else {

for (var z = 0; z < s.length; z++) {

var c = s.charAt(z);

if (whitespace.indexOf© == -1) return false;

}

return true;

}

}

function processaForm()

{

var check = document.form1;

if (isWhitespace(check.nome.value)) {

alert("Por favor preencha o seu nome.");

check.nome.focus();

return false;

}

if (isWhitespace(check.cidade.value)) {

alert("Por favor preencha o nome da sua Cidade.");

check.cidade.focus();

return false;

}

if (isWhitespace(check.estado.value)) {

alert("Por favor preencha o nome do seu Estado.");

check.estado.focus();

return false;

}

if (isWhitespace(check.email.value)) {

alert("Por favor preencha o o seu E-mail.");

check.email.focus();

return false;

}

if (isWhitespace(check.assunto.value)) {

alert("Por favor preencha o Assunto do contato.");

check.assunto.focus();

return false;

}

if (isWhitespace(check.mensagem.value)) {

alert("Por favor preencha a Mensagem do contato.");

check.mensagem.focus();

return false;

}

var windowName = "form";

var windowFeatures = "width=420,height=200,top=30,left=30,resizable=no,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no";

windowForm = window.open("", windowName, windowFeatures);

document.form1.submit();

windowForm.focus();

}

ARQUIVO contato.html

<html>

<body>

<script language="JavaScript" src="functions.js" type="text/javascript"></script>

<div class="tah11" style="padding:10;color:000000"><strong> Formul&aacute;rio de Contato<br />

</strong>Preencha todos os campos corretamente. <form action="processa_email.php" method="post" enctype="application/x-www-form-urlencoded" name="form1" target="form" id="form1" onKeyPress="return dasabilitarenter();">

<table class="tah11" style="padding:10;color:000000">

<tr>

<td><label>Nome:</label></td>

<td><input name="nome" type="text" maxlength="1000"></td>

</tr>

<tr>

<td>Cidade:</td>

<td><label>

<input name="cidade" type="text" id="cidade" maxlength="1000"/>

</label></td>

</tr>

<tr>

<td>Estado:</td>

<td><label>

<input name="estado" type="text" id="estado" maxlength="1000"/>

</label></td>

</tr>

<tr>

<td><label>E-mail:</label></td>

<td><input name="email" type="text" maxlength="1000"></td>

</tr>

<tr>

<td><label>Assunto:</label></td>

<td><input name="assunto" type="text" id="assunto" maxlength="1000"></td>

</tr>

<tr>

<td><label>Mensagem:</label></td>

<td><textarea name="mensagem" cols="20" rows="8" id="mensagem" maxlength="2300">

</textarea></td>

</tr>

<tr>

<td colspan="2">&nbsp;</td>

</tr>

<tr>

<td colspan="2"><div align="center">

<input name="Botao" type="button"

class="botao" id="Botao" onClick="java script:processaForm();" value="Enviar" />

</div></td>

</tr>

</table>

</form> </div>

</body>

</html>

PODE ter certeza que vai dar certo cara, se você se basear nestes arquivos aí, estão funcionando certinho, os dados são passados em método POST para um arquivo em nova janelinha que se chama processa_email.php, foi ele o único que eu não postei aqui, até porque não tem necessidade, mas quando for fazer as adaptações, fique atento nas funções Javascript para não modificar oque não deve. até.

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...