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

popup javascript


androide

Pergunta

Boa tarde a todos vocês, sou novo no forum e iniciante em javascript.

Estou criando um editor html e parei na parte de paletas de cores. Pesquisei muito sobre popup, e estou tendo um problema para criar a palheta :unsure: !!!!!

Fiz um botão onde onclick executava abrepopup(), dentro do popup se selecionava a cor e esta alterava a cor de fundo document.frames['editor'].document.body.bgColor = cor; até ai dudo bem, só que quando fui fazer o mesmo codigo para alterar a cor do texto ele altera a cor do fundo!!!

já tentei muitas coisas e todas dão o mesmo resultado :wacko: ou dão erro!!!

segue o codigo html para o botão

<input id="cfundo" type="button" value="cor fundo" onclick="abrepopup()"/><?echo " "; ?>
<input id="cfonte" type="button" value="cor fonte" onclick="abrepopup()"/><?echo " "; ?>

segue o codigo javascript para alterar a cor de fundo e do texto.

function abrepopup()
{
janela = window.open();
janela.document.write("<html><body><table border=0 width=\"100%\">\n<tr>\n<td  bgcolor=\"#dddff2\" onclick=\"java script:parent.opener.cor_fundo(this.bgColor)\">Cor</td>\n<td  bgcolor=\"#ffdd00\" onclick=\"java script:parent.opener.cor_fundo(this.bgColor)\">Cor</td>\n</tr>\n</table></body></html>");
}

function cor_fundo(cor)
{
if(document.getElementById('cfundo'))
{
document.frames['editor'].document.body.bgColor = cor;
}else{
document.frames['editor'].document.body.text = cor;
}
}

Aqueles que puderem, por favor me ajudem a encontrar uma resposta para esse problema

Editado por .Andreia.
Utilize tags para código.
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Andreia, obrigado pela sua resposta,

mas o meu objetivo é criar uma ferramenta de email marketing para os meus clientes com um editor imbutido e minha dificuldade esta na criação desse editor personalizado, meu unico problema é que não consigo fazer os dois popups responderem alterações diferentes, :wacko:

Eu sei que existe editores muito bons por ai afora, mas como iniciante em javascript fazer as coisas do zero é a unica forma que consigo aprender :D

segue o codigo do javascript

function abrepopup()
{
janela = window.open();
janela.document.write("<html><body><table border=0 width=\"100%\">\n<tr>\n<td  bgcolor=\"#dddff2\" onclick=\"java script:parent.opener.cor_fundo(this.bgColor)\">Cor</td>\n<td  bgcolor=\"#ffdd00\" onclick=\"java script:parent.opener.cor_fundo(this.bgColor)\">Cor</td>\n</tr>\n</table></body></html>");
}

function cor_fundo(cor)
{
if(document.getElementById('cfundo'))
{
document.frames['editor'].document.body.bgColor = cor;
}else{
document.frames['editor'].document.body.text = cor;
}
}

Editado por androide
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

  • 0

Gente descobri qual era o problema!!!! ("em partes") :D

o problema era a instrução if para diferenciar os id dos botões.

if(document.getElementById('cfundo'))

acredito que esse é o problema pois criei duas functions para abrir o popup com nomes diferentes e duas functions para setar a cor e deu certo!!!

olha o codigo ai

function abrepopup()
{
janela = window.open();
janela.document.write("<html><body><table border=0 width=\"100%\">\n<tr>\n<td  bgcolor=\"#dddff2\" onclick=\"java script:parent.opener.cor_fundo(this.bgColor)\">Cor</td>\n<td  bgcolor=\"#ffdd00\" onclick=\"java script:parent.opener.cor_fundo(this.bgColor)\">Cor</td>\n</tr>\n</table></body></html>");
}

function abrepopupt()
{
janela = window.open();
janela.document.write("<html><body><table border=0 width=\"100%\">\n<tr>\n<td  bgcolor=\"#dddff2\" onclick=\"java script:parent.opener.cor_fonte(this.bgColor)\">Cor</td>\n<td  bgcolor=\"#ffdd00\" onclick=\"java script:parent.opener.cor_fonte(this.bgColor)\">Cor</td>\n</tr>\n</table></body></html>");
}

function cor_fundo(cor)
{
document.frames['editor'].document.body.bgColor = cor;
}

function cor_fonte(corf){
window.document.getElementById('editor').contentWindow.document.execCommand('ForeColor', false, corf);
}

agora vou fazer uma paleta de cor no popup mais decente, com mais cores e um novo visual, pois esta é só para teste. :lol:

valeu e um abraço por todos que tentaram resolver essa charada, que na realidade não foi inteiramente resolvida pois resta saber o por quê do if não ter funcionado.

mais beleza bola pra frente!!!! ^_^

Link para o comentário
Compartilhar em outros sites

  • 0

é isso mesmo, era isso que eu queria de começo, localizar o id do input para diferenciar os botões ao ser executado. mas como você disse que ele só verifica se o elemento existe, ou seja não é por execução acredito que foi isso que fez o erro :blink: ele verificava se o cfundo existia, e ele existe, independente da execução do botão. como era sempre verdadeiro então ele só executava a primeira parte o if. :blush:

deve ser por isso que o if não dava certo :huh:

talvez eu tenha que colocar if (window.document.exist.id('cfundo'))?????????????

ou algo assim para me trazer a resposta.

o que você acha?

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,4k
×
×
  • Criar Novo...