<b>javascript</b>

Enviada por <b>Jayr Porto</b> 
<b>javascript</b>
02 de April de 2003 às 02:45PM
<HTML>Não entendo nada de javascript.

Meu problema diz respeito a um sistema complexo. Em todas as páginas do meu sistema, tenho um menu superior com as opções (diversas) para o usuário. Uma destas opções é um botão de "bug report", onde o usuário poderá emitir um relatório de problema (ou sugestão) direto da página.

Gostaria de abrir uma nova janela de 400x400 e passar para elas alguns dados fixos (usuário, página de erro, data e hora, entre outros) que já tenho em meu sistema.

Pelo que ví em outras perguntas feitas, teria de encerrar o php, editar o javascript reabrir o php e continuar meu código. Mais ou menos assim

<?
código php
?>
código javascript
<?
sequência do php
?>

As perguntas são:
- não tem como eu colocar este pedaço javascript no meio do php (pergunto se ha como burlar o problema de aspas gerado pelo java.

- Sei abrir a janela mas, como referenciar minhas variáveis php (de forma otimizada)

Detalhes adicionais sobre a janela:
- Janela tipo popup
- Tamanho 400x400
- Ela conterá um form
- Ao postar o form, essa janela deverá retornar um muito obrigado que, ao ser clicado fechara a mesma.

Muito obrigado a todos os que puderem ajudar.</HTML>
Silvano Girardi Jr.
Re: javascript
02 de April de 2003 às 03:37PM
Não precisa necessariamente encerrar o php para colocar o javascript, tente da seguinte forma:

<? código php...
echo <<<PHPBRASIL
<script language="JavaScript">
código com aspas e tudo que se tem direito..
e as variáveis vc apenas chama ela normalmente, sem precisar dar o echo
$var
</script>
PHPBRASIL;
?>

Ajuda? :)

[]z
Silvano Girardi Jr.
Re: javascript
02 de April de 2003 às 03:44PM
Para exemplificar melhor:

<?
$usuario = "Jair";
$pagina_erro = "http://seila.com/404.html";
$erro = "Msg de Erro";

echo <<<PHPBRASIL
<script language="JavaScript">
function openBugReport() {
window.open('pagina_com_o_form.php?usuario=$usuario&pagina_erro=$pagina_erro&erro=$erro','_blank','width=400,height=400');
}
</script>
PHPBRASIL;
?>
<a href="javascript:openBugReport()">Clique para reportar um bug</a>
hinom
Re: javascript
02 de April de 2003 às 04:16PM

tudo que for cliente-side é texto:

<?
$msg = "teste";
?>
<script language=javascript>
alert("\n<?=$msg;?>\n");
</script>
<b>Re: javascript</b>
03 de April de 2003 às 01:20PM
<HTML>Ajuda sim.

Só uma dúvida de funcionamento.

O que especificamente tem esta linha:

echo <<<PHPBRASIL

O que o "<<<PHPBRASIL" faz? Posso substituir por outro nome com espaços?</HTML>
<b>Re: javascript</b>
03 de April de 2003 às 02:19PM
<HTML>Silvano.

Não funcionou. Apesar da diferença na escrita, o php continua aceitando as aspas e interferindo no código.</HTML>
Silvano Girardi Jr.
Re: javascript
04 de April de 2003 às 04:25AM
Estranho, funciona perfeitamente para mim.
Para saber mais sobre esse tipo de delimitação de string, acesse:
http://www.php.net/manual/en/language.types.string.php

Leia nesse endereço a parte onde diz Heredoc e dê uma atenção especial para o box do Warning, para ver se não fez algo que eles citam ali.

[]z
<b>Re: javascript</b>
04 de April de 2003 às 01:17PM
<HTML>Obrigado pela atenção.

Resolvi escapando todas as aspas do javascript e funcionou perfeitamente.

Só para saber, não queria abandonar o código php e entrar em HTML pois essa tarefa gera um atrazo no código (fica mais lento). Não sei dizer porque mas, acontece.</HTML>
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.