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

Erro No Document.getelementbyid


Guest FÉLIX HENRIQUE

Pergunta

Guest FÉLIX HENRIQUE

Olá pessoal, to com um errinho num javascript, e já tentei de tudo, espero que algum mestre do java script possa me ajudar:

Esse é o meu link que passa as variaveis através do comando onClick (swap):

'largeimage'

$line[image]

$line[legenda]

$line[legenda1]

$line[legenda2]

<a href='#top' onClick=\"swap('largeimage', '$line[image]', '$line[legenda]', '$line[legenda1]', '$line[legenda2]');\">

<img border=\"0\" id=\"mini\" src='admin/clientes/miniaturas/$line[thumb]' alt='Clique para aumentar a foto.'></a>

e a função java script é:

function swap(target, fname, legenda, legenda1, legenda2) {

document[target].src = "admin/clientes/fotos/" + fname;

document.getElementById("texto").innerHTML = legenda;

document.getElementById("texto1").innerHTML = legenda1;

document.getElementById("texto2").innerHTML = legenda2;

}

Onde:

texto, texto1 e texto2 são os ID dos DIVs.

O que acontece... quando o site carrega as informações são preenchidas corretamente, mas quando clico nesse link para atualizar a imagem e as legendas... o site trava e da um erro no java scritp:

"CONSTANTE DE SEQUENCIA não FINALIZADA"

Se alguém já tiver passado por esse erro, ou souber o que pode estar acontecendo... por favor me ajudem.

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
Guest FÉLIX HENRIQUE

VOU COLOCAR O MEU CODIGO FONTE PARA FACILITAR O ENTENDIMENTO:

conexao ao banco de dados.

<?php

require 'admin/clientes/configuracao.php';

require 'admin/clientes/config/config.php';

$link = mysql_connect($dbhost, $dbuser, $dbpass);

$result = mysql_db_query($dbname, "SELECT * FROM $dbvin WHERE codigo='$codigo'", $link);

$data = mysql_fetch_array($result);

@mysql_db_query($dbname, "UPDATE $dbvin SET viewed=viewed+1 WHERE codigo='$codigo'", $link);

foreach($data as $key => $item) {

$data[$key] = stripslashes($item);

}

if($data[numimages]) {

$imageset = array();

$legenda = "logo";

$result = mysql_db_query($dbname, "SELECT * FROM $dbimg WHERE codigo='$codigo' AND legenda!='$legenda' ORDER BY id DESC", $link);

while($row = mysql_fetch_array($result)) {

array_push($imageset, $row);

}

}

?>

codigo do arquivo funcao.js

function swap(target, fname, legenda, legenda1, legenda2) {

document[target].src = "admin/clientes/fotos/" + fname;

document.getElementById("texto").innerHTML = legenda;

document.getElementById("texto1").innerHTML = legenda1;

document.getElementById("texto2").innerHTML = legenda2;

}

Aqui é onde as legendas da imagem são atualizadas.

<?php

echo "<div id=\"texto\" class='texto1c'>{$imageset[0][legenda]}</div>";

?>

<?php

echo "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda1]}</div>";

?>

<?php

echo "<div id=\"texto2\" class='texto1c'>{$imageset[0][legenda2]}</div>";

?>

Aqui é onde a imagem vai ser exibida em tamanho grande.

<?php

echo "

<a name=\"top\" id=\"top\">

<img id=\"grande\" name='largeimage' src='admin/clientes/fotos/{$imageset[0][image]}'></a>

";

?>

Esse é o link que envia as variaveis:

<?php

if($data[numimages] > 1) {

$n = 1;

foreach($imageset as $line) {

echo "<a href='#top' onClick=\"swap('largeimage', '$line[image]', '$line[legenda]', '$line[legenda1]', '$line[legenda2]');\">

<img border=\"0\" id=\"mini\" src='admin/clientes/miniaturas/$line[thumb]' alt='Clique para aumentar a foto.'></a>";

$n++;

}

}

?>

Não consigo entender o que pode estar acontencendo de errado!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Se você tiver o um navegador diferente do IE dá uma olhada no Console de JavaScript. Qual o erro apontado por ele?

Geralmente, essa mensagem "CONSTANTE DE SEQUENCIA não FINALIZADA" se reefere a uma string que não foi fechada por aspas. Procura ae...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Estive procurando no Google, e encontrei um artigo dizendo que o método SWAP do Java Script é apenas para imagem....

Será que pode ser alguma ligação do Metodo SWAP com o onClick?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest FÉLIX HENRIQUE

Pessoal, consegui resolver o problema....

O que estava acontecendo?

Configurei no painel administrativo uma TEXTAREA, para que quando a tecla ENTER fosse precionada, fosse gravado como uma tag <br>.

E erra justamente esse o problema, bastou remover as tags <br> do cadastro no banco de dados, que a imagem e as legendas atualizaram.

Não sei porque o interpretador não estava considerando os <br> como quebra de linha, e o porque o codigo deve estar em uma unica linha.

MAS GANHEI OUTRO PROBLEMINHA....

Como faço agora para gravar e exibir um cadastro com <br>?

Link para o comentário
Compartilhar em outros sites

  • 0
Coloca aí somente a instrução que você modificou. Essa que tinha BR (como era antes) e como ela está agora.

Ai que ta a questão... eu não modifiquei nada no meu código!

Apenas abri o phpmyadmin, e editei os registros cadastrados, e retirei o <br> de todos.

Mas eu preciso que dos <br> para manter a formatação do campo.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom eu num manjo po.... nenhuma ded php! mas so uma pergunta? onde o texto vai ser exibido? em um html dentro dede uma text area?

o que você podee fazer e o seguinte em vez do br você poe uma caracter qualquer! ai na hora de exibir o texto , formata com o JS dando replace do simbolo para <br>!

Amigo, o texto vai ser exibido aqui ....

<?php

echo "<div id=\"texto2\" class='texto1c'>

{$imageset[0][legenda2]}

</div>";

?>

E como eu faria esse replace no meu código? Tem algum exemplo pra mim ver?

Link para o comentário
Compartilhar em outros sites

  • 0

Estive procurando no google... e a unica coisa que eu acho sobre replace... é EXPRESSÕES REGULARES.

Mas ate agora não achei nenhum exemplo que poderia me ajudar a resolver esse problema... Porque o SWAP não aceita um registro do mysql que contenha tags html, como no caso < br >.

Alguém já utilizou um expressão regular com método SWAP?

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