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

(Resolvido) Saber innerHtml antes do carregamento


Carlos Rocha

Pergunta

Pessoal.

Boa Noite.

Peguei na net aquele chat do Romano e me deparei com a seguine situação;

Uma coisa me chamou a atenção.

Quando mando mensagem privada para o usuario TODOS, eu, o usuario ue envia, vejo a mensagem reservada. Porem, os outros estinatarios não veem a mensagem.

Porem, quando a mensagem é endereçada a cada um deles em privado. Ai, eles veem sim a mensagem.

Se enviar a mensagem a TODOS sem ser privada todos veem mas se for privada, só que enviou ve.

Como corrigir isso?

como normalmente não consegui, ai fiz assim:

Quando clikasse no usuario, no menu de usuarios, se esse usuario fosso o "TODOS", teria uma div (que seria desabilitada) com um radio button dentro.

Quando o usuario não fosse o todos, ai sim a div seria habilitada e o clike no radio butoon habilitado tambem.

Acontece que, numa coinversa em resevado, quando eu submeto a mensagem, a pagina da um reload e, como eu coloquei no carregamento da pagina que o style.block do radio buitton seria none. daí não sei como, apos o reload da pagina, eu saber que o usuario selecionado é o mesmo e que pode continua liberado a radio.

Mais facil voces acessando:

http://www.carcleo.com/chat2

Quem puder ajudar agradeço.

Aqui esta a função que lista as mensagens:

/**
 * Lista as mensagens da sala.
**/
   function msgs() {
      $i = "0";
      $msgs=array();
      $consulta = mysql_query("SELECT * FROM msg WHERE ((rem='".$this->nome."' OR dest='".$this->nome."' OR tipo='pub') && date > '$_SESSION[date]' && sala='".$this->sala."') ORDER BY date ASC;", $this->dbh);
      while ($row = mysql_fetch_array($consulta)) {
         $msgs[$i]["tipo"]  = $row["tipo"];
         $msgs[$i]["msg"]  = $row["msg"];
         $msgs[$i]["som"]  = $row["som"];
         $msgs[$i]["dest"] = $row["dest"];
         $msgs[$i]["rem"]  = $row["rem"];
         $_SESSION['date'] = $row["date"];
         $i++;
      }
      mysql_free_result($consulta);
      return $msgs;
   }
Aqui esta o filtro
<?php

####################################
#                                  #
#  MODIFICADO POR: JRF WEBMASTER   #
#  VERSÃO ATUAL:   8.0             #
#  DATA:           01/08/2006      #
#                                  #
####################################

include_once("./config.php");
include_once("./global.php");
include_once("./biblioteca/tbs_class.php");
$banco = new chat;
$banco->dados($_GET['uid']);
if($banco->block($_GET['uid'])){
  $target="vai();";
}else{
  $target="";
}
if (empty($_SESSION['date'])) {
 $_SESSION['date'] = 0;
}
if (empty($_SESSION['header']) OR $_SESSION['header']!= $_GET['uid']) {
 $arquivo = "./templates/".$banco->config['modelo']['val']."/principal.htm";
 $header = fopen($arquivo, "r");
 $lido = fread($header, filesize($arquivo));
 fclose($header);
 $limpa = addslashes($lido)."\n\n";
 $limpa = str_replace("\t", "", $limpa);
 $limpa = str_replace("\r", "", $limpa);
 $limpa = str_replace("\n", "\\n", $limpa);
 $inicio = $limpa;
 $_SESSION['header'] = $_GET['uid'];
}
$model = new clsTinyButStrong;
$model->LoadTemplate("./templates/".$banco->config['modelo']['val']."/inferior.htm"); 
$msgs  = $banco->msgs();
$total = count($msgs);
$cont  = $banco->cont("TODOS");
$str   = $ext = "";
$str  .= (!empty($inicio)) ? $inicio : "";
for ($i = "0"; $i < $total; $i++) {
 $tipo  = $msgs[$i]["tipo"]; 
 $rem  = $msgs[$i]["rem"];
 $dest = $msgs[$i]["dest"];
 $mensagem = addslashes($msgs[$i]["msg"]);
 $som = $msgs[$i]["som"];

 if (empty($_SESSION['ignora'][$rem]) && empty($_SESSION['ignora'][$rem])) {
  $para = ($dest == $banco->nome) ? ' bgcolor=\"#cccccc\"' : "";
  $codigo = '<table width=\"100%\" border=\"0\" cellspacing=\"5\" cellpadding=\"2\"><tr><td'.$para.'>'.$mensagem.'"+PlaySound("'.$som.'")+"</td></tr></table>'."\n";
  $codigo = str_replace("\t", "", $codigo);
  $codigo = str_replace("\r", "", $codigo);
  $codigo = str_replace("\n", "\\n", $codigo);
  $str .= $codigo;

 }
 if (empty($inicio) && ($som == "entra" OR $som == "saida" OR $cont != $_SESSION['cont'])) {
  $ext .= "window.parent.nomes.location.reload();\n";
  $_SESSION['cont'] = $cont;
 }
}
$banco->atualiza();
$refresh=10*$banco->config['refresh']['val'];
$model->Show();
?>
<script language="Javascript">
function right(e) {
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)){
alert("Proibido a cópia do código desta página");
return false;
}
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
alert("Proibido a cópia do código desta página");
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
</script>
Só não entendo porque o reservado a todos só vai para quem envia e o enviado a todos sem reserva vai para todos ois usuarios. Pela query ou pelo php não vejo logica. Segue tambem a estrutura da tabela:
CREATE TABLE `msg` (
  `msg` mediumtext,
  `date` datetime DEFAULT NULL,
  `rem` varchar(30) DEFAULT NULL,
  `dest` varchar(30) DEFAULT NULL,
  `som` varchar(20) DEFAULT NULL,
  `tipo` varchar(10) DEFAULT NULL,
  `sala` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui assim:

<script language=JavaScript>
function carrega()
{
    if (parent.menu.document.getElementById("enviar").innerHTML != "TODOS")
    {
        parent.menu.document.getElementById("radioreserva").style.display = 'block';
    }
}
</script>
</head>
<body bgcolor="#FFFFFF" scroll="no" onload="carrega();" >

Valeu!

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...