Carlos Rocha Posted July 13, 2011 Report Share Posted July 13, 2011 Pessoal.Tenho o script abaixo que funciona no ie mas nõ funciona no firefox. No firefox simplemsnte não aparece problema mas o código não roda. Você clika e não acontece nada.O que preciso fazer para funcionar?<a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value\" > Enviar </a> Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted July 13, 2011 Report Share Posted July 13, 2011 "Não funciona" é muito vago. O que acontece? Você recebe algumas mensagem de erro? Já olhou no console de erros ou no Firebug?Um abraço. Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted July 13, 2011 Author Report Share Posted July 13, 2011 (edited) Deu assim:document.forms is not a function [Parar neste erro] if(document.forms(form).item(2).value=="") Segue minha função validaprodutoadcionado: // JavaScript Document function validaprodutoadcionado(form,campo2,campo3,campo5) { if(document.forms(form).item(campo2).value=="") { alert("Preencha o campo Preço: campo obrigatório!!!"); document.forms(form).item(campo2).focus(); return (false); } if(document.forms(form).item(campo3).value=="") { alert("Preencha o campo Imposto: campo obrigatório!!!"); document.forms(form).item(campo3).focus(); return (false); } if(document.forms(form).item(campo5).value=="#") { alert("Escolha Posição: campo obrigatório!!!"); document.forms(form).item(campo5).focus(); return (false); } }: E a chamada: <a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[posicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&posicao='+document.getElementById('{$i}[posicao]').value\" > Enviar </a> E o formulario:<? if ($acao== "mostra_produtos"){ if (!$nomerazao){ $sql_nomerazao = mysql_query("select nome, razaosocial from fornecedores where id = $id_fornece"); list($nome_do_fornecedor, $razao_do_fornecedor) = mysql_fetch_row($sql_nomerazao); $nomerazao= $nome_do_fornecedor.$razao_do_fornecedor; } $sql = "select p.id, p.nome as nome_produto, p.preço, p.foto, p.quantidadecaixa, p.descricao, f.nome as nome_fornecedor, f.razaosocial as razao_fornecedor, f.id as idfornece, g.nome from produtos p inner join fornecedores f on p.fornecedor = f.id inner join grupos g on p.grupo = g.id_grupo where p.fornecedor = $id_fornece order by f.nome, f.razaosocial "; $sql2=mysql_query($sql); echo "<table border=1 width=800 align=center> <tr><td colspan=10 align=center><h3>Produtos de: $nomerazao</h3></td></tr> <tr><td colspan=10 align=center><a href='?acao=mostra_fornecedores'>Escolher outro fornecedor</a.</td></tr> <tr> <td align=center>Foto</td> <td align=center>Produto</td> <td align=center>Grupo</td> <td align=center>Descrição</td> <td align=center>Qtde.<br>na caixa</td> <td align=center>Preço</td> <td align=center>Imposto (%)</td> <td align=center>Marcar para<br>todos os ítens</td> <td align=center>Posição</td> <td align=center>Adicionar</td> </tr> "; echo "<form action=\"carrinho.php?op=adicionar\" name=\"adcionatodos\" method=\"post\">"; $i=0; while(list($id, $nome_produto, $preço, $foto, $quantidadecaixa, $descricao, $nome_fornecedor, $razao_fornecedor, $idfornece,$nome_grupo) = mysql_fetch_row($sql2)){ echo "<input type=\"hidden\" name=\"{$i}[id_prod]\" id=\"{$i}[id_prod]\" value=\"$id\"> <input type=\"hidden\" name=\"id_fornece\" id=\"id_fornece\" value=\"$id_fornece\"> "; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src=../img/saiba_mais.png alt='Saiba Mais'>"; echo "<tr> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_grupo</td> <td align=center><a href='?acao=saibamais&id=$id&id_fornece=$id_fornece'>$icone</a></td> <td align=right>$quantidadecaixa </td> <td align=left> R$ <input size=4 type=\"text\" name=\"{$i}[novo_preco]\" id=\"{$i}[novo_preco]\" value=\"$preço\" size=\"08\" style=\"text-align:right\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"></td> <td align=center> <input size=4 type=\"text\" name=\"{$i}[novo_imposto]\" id=\"{$i}[novo_imposto]\" value=\"0\" size=\"08\" style=\"text-align:center\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"> %</td> <td align=center><input type=checkbox name=\"{$i}[marcado]\"></td> <td align=center valign=\"middle\"> <select name=\"{$i}[posicao]\" id=\"{$i}[posicao]\" > <option value=\"#\">Posiçao</option> <option value=\"1\">Complemento</option> <option value=\"2\">Encarte</option> </select> </td> <td align=\"center\"> <a href=\"#\" onclick=\"validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[posicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&posicao='+document.getElementById('{$i}[posicao]').value\" > Enviar </a> </td> </tr>"; $i++; } /* echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"button\" onclick=\"return confirmaposicao('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[marcado]','{$i}[posicao]');\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; */ echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"submit\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; } ?> Edited July 13, 2011 by Carlos Rocha Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted July 14, 2011 Report Share Posted July 14, 2011 (edited) Você está usando document.forms como uma função. Você deveria usar a notação de arrays:document.forms[0] ...Um abraço. Edited July 14, 2011 by Willian Gustavo Veiga Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted July 14, 2011 Author Report Share Posted July 14, 2011 (edited) Sobre a validação, fiz assim:// JavaScript Document function validaprodutoadcionado(form,campo2,campo3,campo5) { if(document.getElementById(campo2).value=="") { alert("Preencha o campo Preço: campo obrigatório!!!"); document.getElementById(campo2).focus(); return (false); } if(document.getElementById(campo3).value=="") { alert("Preencha o campo Imposto: campo obrigatório!!!"); document.getElementById(campo3).focus(); return (false); } if(document.getElementById(campo5).value=="#") { alert("Escolha Posição: campo obrigatório!!!"); document.getElementById(campo5).focus(); return (false); } } Porem, como a chamada <a href=\"#\" onclick=\"return validaprodutoadcionado('adcionatodos','{$i}[novo_preco]','{$i}[novo_imposto]','{$i}[condicao]'); this.href='carrinho.php?op=adicionar&id_produto=$id&novo_preco='+document.getElementById('{$i}[novo_preco]').value+'&id_fornece=$id_fornece&novo_imposto='+document.getElementById('{$i}[novo_imposto]').value+'&condicao='+document.getElementById('{$i}[condicao]').value\" > Enviar </a> esta pedindo um return, quando do fim da validação, se não der erro nenhum, o href não segue seu destino. Edited July 14, 2011 by Carlos Rocha Quote Link to comment Share on other sites More sharing options...
0 homosapiens Posted July 14, 2011 Report Share Posted July 14, 2011 Carlos não sei, se vai lhe ajudar melhor mas utilize esta função para verificar se os campos estao vazios:function empty(v){ if (v==null || v==0 || v=='' || v==""){ return true } else { return false } }O parametro v é a variavel a ser verificada, o resto com ctz você já sacou. Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted July 14, 2011 Author Report Share Posted July 14, 2011 Entedi sim. E com certeza vai ajudar bastante.Mas, como resolver o problema do onclick? Quote Link to comment Share on other sites More sharing options...
Question
Carlos Rocha
Pessoal.
Tenho o script abaixo que funciona no ie mas nõ funciona no firefox.
No firefox simplemsnte não aparece problema mas o código não roda. Você clika e não acontece nada.
O que preciso fazer para funcionar?
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.