Carlos Rocha Postado Maio 3, 2011 Denunciar Share Postado Maio 3, 2011 (editado) Boa NoiteMe deem uma luz aqui.Pode ser?Tenho essa funçao javascriptfunction 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 Maio 3, 2011 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Maio 3, 2011 Autor Denunciar Share Postado Maio 3, 2011 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> "; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Maio 3, 2011 Autor Denunciar Share Postado Maio 3, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 3, 2011 Denunciar Share Postado Maio 3, 2011 (editado) 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 Maio 3, 2011 por kuroi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Maio 3, 2011 Autor Denunciar Share Postado Maio 3, 2011 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 3, 2011 Denunciar Share Postado Maio 3, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Maio 3, 2011 Autor Denunciar Share Postado Maio 3, 2011 por exemplo:Se, em vez de confirm eu usar alert na mesma função (por favor, não me perfgunte porque) funciona. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Maio 3, 2011 Autor Denunciar Share Postado Maio 3, 2011 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Carlos Rocha
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 RochaLink para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.