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

parametro em php onclick para função confirm


Carlos Rocha

Pergunta

Boa Noite

Me deem uma luz aqui.

Pode ser?

Tenho essa funçao javascript

function verifica(Msg)
{
 return confirm(Msg);
}
Queria passar esse parametro Msg para essa função via php. Estou fazendo assim:
<a href='cliente_alterar.php?acao=bloquear&id=$id&bloqueio=$bloquear' onclick='return verifica('$msg')'>$icone</a>

Dependendo da condição de bloqueio, ese $MSN recebe um valor diferente.

Mas não ta dando a janela.

Onde eu estou errando?

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

O que eu quero é que, OBRITORIAMENTE, haja um onclik no href chamando a função verificar(). Porem, que essa função recea um parametro que muda dependendo do tipo de bloqueio que o usuario tem no monto. Ficando ASSIM:

function verifica(Msg){ return confirm(Msg);}
Queria passar esse parametro Msg para essa função via php. Estou fazendo assim:
<a href='cliente_alterar.php?acao=bloquear&id=$id&bloqueio=$bloquear' onclick='return verifica('$msg')'>$icone</a>
Veja a idealisação:
<?php
while(list($id, $cnpj, $cpf, $razaosocial, $nome, $responsa, $cep, $endereco, $numero, $bairro, $estado, $cidade, $tel, $cel, $bloqueio) = mysql_fetch_row($sql)) {
    if ($cpf<>"") {$cpf=formata_cpf($cpf);}

    if ($cnpj<>"") {$cnpj=formata_cnpj($cnpj);}    
    
    if ($tel<>"") {$tel=formata_tel($tel);}

    if ($cel<>"") {$cel=formata_tel($cel);}    

if ($bloqueio=="s"){ 
                     $bloquear = "n"; 
                     $icone = "<img border=0 src=figuras/desbloquear.ico>";
                     $msg ="Deseja desbloquear esse cliente?";
                    }
else                { 
                     $bloquear = "s"; 
                     $icone = "<img border=0 src=figuras/bloquear.gif>";    
                     $msg ="Deseja Bloquear esse cliente?";
                    }        
        
echo "
      <tr BGCOLOR=#FFFFCC>
      <td><font face=Arial size=-2><b>". $id ."</b></font></td>
      <td><font face=Arial size=-2><b>". $cnpj ."</b></font></td>
      <td><font face=Arial size=-2><b>". $razaosocial ."</b></font></td>
      <td><font face=Arial size=-2><b>". $cpf ."</b></font></td>
      <td><font face=Arial size=-2><b>". $nome ."</b></font></td>
      <td><font face=Arial size=-2><b>". $responsa ."</b></font></td>
      <td align='center'><a href='cliente_alterar.php?acao=alterar&id=$id'><img border=0 src=figuras/alterar.ico></a></td>
      <td align='center'><a href='cliente_alterar.php?acao=bloqueia&id=$id&bloqueio=$bloquear' onclick='return verifica('$msg')'>$icone</a></td>      
      </tr>
    ";
}

Link para o comentário
Compartilhar em outros sites

  • 0

Estou observando que quando faço:

<td align='center'><a href='cliente_alterar.php?acao=bloqueia&id=$id&bloquear=$bloq' onclick='verifica('$msg');'>$icone</a></td>
Ou seja, a função verifica sendo chamada por onclick de dentro de um href do html, ela não funciona. Mas, quando jogo a função verifica para fora do href dai funciona. Como abaixo:
<script>'verifica('$msg');<?script>
      <td align='center'><a href='cliente_alterar.php?acao=bloqueia&id=$id&bloquear=$bloq' onclick='verifica('$msg');'>$icone</a></td>

O que pode ser feito para dar certo?

Preciso dela funcionando no onclik do href.

Grato a quem puder ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

você ta usando aspa simples tanto no codigo html quanto no javascript, ai acho q quando você abre a aspa dentro do javascript ele pensa é q você ta fechando o valor do atributo do html.

use aspa dupla pro html:

<a href="cliente_alterar.php?acao=bloquear&id=$id&bloqueio=$bloquear" onclick="return verifica('$msg')">$icone</a>
mas não entendi direito o q você quer fazer. entenda q não da pra misturar o javascript com php. o php é executado no servidor ANTES da pagina carregar. o javascript é executado no navegador DEPOIS da pagina ter sido carregada. como o javascript faz parte do codigo html q é escrito pelo php, antes da pagina carregar você pode então usar o php pra escrever o codigo javascript q vai ser executado no navegador. mas o javascript não pode chamar diretamente uma funcao q esteja no php. caso precise fazer isso, você tera q usar ajax. não sei se é exatamente isso q você tava tentando fazer, mas achei melhor passar essa explicacao. EDITADO: olhando com mais atencao, acho q entendi o q você quer. acho q o problema são as aspas mesmo. no php, na hora de escrever a funcao, faca assim e veja se não funciona:
echo "
      <tr BGCOLOR=#FFFFCC>
      <td><font face=Arial size=-2><b>". $id ."</b></font></td>
      <td><font face=Arial size=-2><b>". $cnpj ."</b></font></td>
      <td><font face=Arial size=-2><b>". $razaosocial ."</b></font></td>
      <td><font face=Arial size=-2><b>". $cpf ."</b></font></td>
      <td><font face=Arial size=-2><b>". $nome ."</b></font></td>
      <td><font face=Arial size=-2><b>". $responsa ."</b></font></td>
      <td align=\"center\"><a href=\"cliente_alterar.php?acao=alterar&id=$id\"><img border=0 src=figuras/alterar.ico></a></td>
      <td align=\"center\"><a href=\"cliente_alterar.php?acao=bloqueia&id=$id&bloqueio=$bloquear\" onclick=\"return verifica('$msg')\">$icone</a></td>      
      </tr>
    ";[/code]

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0

Amigo.

Deu certo.

Mas, pelo que entendi, era nescessário dar o comando \ para que eu posso colocar dentro do echo um comando " (aspas duplas). E, só assim o php seria interpretado. Certo?

Se sim, então porque outra função js que recebe parametros funciona normal? Só essa função que tem um confirm dentro não funciona?

Link para o comentário
Compartilhar em outros sites

  • 0

hum, olha o codigo do onclick quando você só usou aspa simples:

onclick='return verifica('$msg')'>
como eu seu onde termina o atributo onclick?? o navegador, quando for interpertar o hmtl, vai pensar q o onclick é só isso:
onclick='return verifica('
e vai achar q o q tem depois é sujeira. o problema é q ele tava confundindo as aspas q delimitam o atributo com as aspas q fazer parte do valor do atributo (do texto dentro dele). agora, se eu usar aspa dupla pra delimitar o valor do atributo, no html, não vai haver conflito com as aspas simples de dentro:
onclick="return verifica('$msg')">
e mais ou menos a mesma coisa no php. imagina q você queira usar um echo pra escrever o codigo q passei logo acima, ficaria tipo assim:
echo "onclick="return verifica('$msg')">"
e ai, onde acaba o texto passado para o echo?? o php entenderia q o echo seria só isso:
echo "onclick="
e entenderia o resto como erro de codigo. agora, pra contornar isso, se digitarmos \", o php entende q aquilo é uma aspa q faz parte do texto e não o delimitador da string:
echo "onclick=\"return verifica('$msg')\">"

agora, quanto a essa outra funcao q você disse q funcionou, não sei direito. passe mais detalhes, ou o codigo q você usou pra gente ver se entende exatamente o q era.

Link para o comentário
Compartilhar em outros sites

  • 0

Aproveitando o tópico.

tenho uma função Js.

document.form_get.cidade.options.length = 1;
Acontece que esse for_get não é o nome do form e sim um parametro que eata chegando. Como adiciono esse parametro para receber o value do parametro? Seria assim?
document.+form_get+.cidade.options.length = 1;

Tentei assim mas não funcionou

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