Jump to content
Fórum Script Brasil
  • 0

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


EliasIII
 Share

Question

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 to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649k
×
×
  • Create New...