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
Queria passar esse parametro Msg para essa função via php. Estou fazendo assim: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.