Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Código não funciona no firefox

Recommended Posts

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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

aperte Ctrl+U > Exibir Código Fonte

 

e veja como ficou o HTML gerado disso ai.

Aperte Ctrl+Shif+J e verifique quais erros aparecem no Firefox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Codigo fonte da seleção.

A apenas os registros retornados:

<tbody><tr><td colspan="10" align="center"><h3>Produtos de: Malta S/A</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>
	  <form action="carrinho.php?op=adicionar" name="adcionatodos" method="post"></form><input name="0[id_prod]" id="0[id_prod]" value="3" type="hidden">
		<input name="id_fornece" id="id_fornece" value="2" type="hidden">
		<tr>
          <td align="center"><img src="../img/sem_foto.png" alt="Sem foto" border="0" width="50"></td>
		  <td align="let">Cevada</td>

		  <td align="let">Produtos de Padaria</td>
             <td align="center"><a href="?acao=saibamais&id=3&id_fornece=2"><img src="../img/saiba_mais.png" alt="Saiba Mais" border="0"></a></td>
		  <td align="right">15  </td>
		  <td align="left"> R$ <input size="4" name="0[novo_preco]" id="0[novo_preco]" value="3.30" style="text-align: right;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"></td>
		  <td align="center"> <input size="4" name="0[novo_imposto]" id="0[novo_imposto]" value="0" style="text-align: center;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"> %</td>
			  <td align="center"><input name="0[marcado]" type="checkbox"></td>

		  <td align="center" valign="middle">
		    <select name="0[posicao]" id="0[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'); this.href='carrinho.php?op=adicionar&id_produto=3&novo_preco='+document.getElementById('0[novo_preco]').value+'&id_fornece=2&novo_imposto='+document.getElementById('0[novo_imposto]').value"> Enviar </a>
		  </td>
		</tr><input name="1[id_prod]" id="1[id_prod]" value="4" type="hidden">
		<input name="id_fornece" id="id_fornece" value="2" type="hidden">
		<tr>
          <td align="center"><img src="../img/sem_foto.png" alt="Sem foto" border="0" width="50"></td>
		  <td align="let">Farinha</td>
		  <td align="let">Produtos de Padaria</td>

             <td align="center"><a href="?acao=saibamais&id=4&id_fornece=2"><img src="../img/saiba_mais.png" alt="Saiba Mais" border="0"></a></td>
		  <td align="right">24  </td>
		  <td align="left"> R$ <input size="4" name="1[novo_preco]" id="1[novo_preco]" value="2.50" style="text-align: right;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"></td>
		  <td align="center"> <input size="4" name="1[novo_imposto]" id="1[novo_imposto]" value="0" style="text-align: center;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"> %</td>
			  <td align="center"><input name="1[marcado]" type="checkbox"></td>
		  <td align="center" valign="middle">

		    <select name="1[posicao]" id="1[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'); this.href='carrinho.php?op=adicionar&id_produto=4&novo_preco='+document.getElementById('1[novo_preco]').value+'&id_fornece=2&novo_imposto='+document.getElementById('1[novo_imposto]').value"> Enviar </a>

		  </td>
		</tr><input name="2[id_prod]" id="2[id_prod]" value="6" type="hidden">
		<input name="id_fornece" id="id_fornece" value="2" type="hidden">
		<tr>
          <td align="center"><img src="../img/sem_foto.png" alt="Sem foto" border="0" width="50"></td>
		  <td align="let">Pão</td>
		  <td align="let">Produtos de Padaria</td>
             <td align="center"><a href="?acao=saibamais&id=6&id_fornece=2"><img src="../img/saiba_mais.png" alt="Saiba Mais" border="0"></a></td>

		  <td align="right">12  </td>
		  <td align="left"> R$ <input size="4" name="2[novo_preco]" id="2[novo_preco]" value="3.20" style="text-align: right;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"></td>
		  <td align="center"> <input size="4" name="2[novo_imposto]" id="2[novo_imposto]" value="0" style="text-align: center;" onkeypress="return(MascaraMoeda(this,'','.',event))" type="text"> %</td>
			  <td align="center"><input name="2[marcado]" type="checkbox"></td>
		  <td align="center" valign="middle">
		    <select name="2[posicao]" id="2[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'); this.href='carrinho.php?op=adicionar&id_produto=6&novo_preco='+document.getElementById('2[novo_preco]').value+'&id_fornece=2&novo_imposto='+document.getElementById('2[novo_imposto]').value"> Enviar </a>

		  </td>
		</tr>
			 <tr>
				 <td colspan="8" align="center" height="50" valign="middle">
				   <input value="Enviar todos os ítens" type="submit">
				 </td>
			 </tr> 
			</tbody>

Aqui, a query retornou 3 registros.

Ctr+Shift+J da a tela de downloads no browser firefox e na janela do codigo fonte não da nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

input name="0[id_prod]" id="0[id_prod]" 

 

você não deve começar, nomes de variáveis com algarismos [0-9]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso só no firefox?

Pergunto pois essa forma de começar o nome do arquvo de 0-9, eu usei só para poder fazer uma função de validação.

Aliás, foi só essa forma que consegui. Tem outro jeito?

 

No ie funciona normal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso só no firefox?

em qq navegador que se preocupe com as boas práticas de programação.

 

 

No ie funciona normal.

o ie não é um browser standard

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno. Na boa.

 

Quando for dar alguma resposta. Tente ser o mais completo possivel.

Aqui tem pessoas muito experientes(como você), porem, tambem tem pessoas no inicio (como eu).

Pessoas que programam porque gostam.

 

O objetivo o forum é ajudar quem quer aprender.

 

O que é um browser standard?

 

Tem outra forma de eu fazer a validação sem usar 0-9?

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>
				";
							   }
 ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno. Na boa.

 

Quando for dar alguma resposta. Tente ser o mais completo possivel.

nem sempre tenho tempo disponível para dar essa super resposta.

 

sou apenas mais um programador, que também trabalha, e tenho a minha própria demanda para resolver.

Eu pessoalmente, prefiro dar um norte, uma resposta certeira e simples, do que não responder nada.

 

Já que como falei, nem sempre consigo dar essa super resposta.

E nesse caso, as tuas perguntas tb não foram certeiras, e não colocavam todas as cartas na mesa(até agora). Okay ?

dá uma olhadinha nos teus posts, e olha os meus. Com as informações que você deu, era impossível que eu te respondesse "melhor".

 

 

Que tal você fazer por IDs ? tecnicamente, dá na mesma para esse teu esquema de validação

function id( el ){
   return document.getElementById( el );
}
function valida( campo ){
       if( campo.value=="") 
       {
                 alert("Preencha o campo "+campo.name+": campo obrigatório!!!");
                 campo.focus();
                 return false;
       }
}
function validaprodutoadcionado( id_campo1, id_campo2, id_campo3 )
{
       return valida( id( id_campo1 ) ) && valida( id( id_campo2 ) ) && valida( id( id_campo3 ) );
}

 

um 'browser não standard', é um browser que não segue os padrões corretamente

 

 

Enfim, eu te disse algumas coisas nas respostas anteriores, que te possibilitavam ir atrás e entender oque eu disse.

Era o máximo que eu podia fazer naquele momento. Se te atrapalhei, me desculpe.

 

Não irei mais responder teus tópicos, se assim você acha melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Irmão.

Acha (e reconheço) que errei contigo. Por isso, peço perdão. Tinha sido apenas uma sujestão e fui mau iterpretado. Mas como você entendeu dessa forma, dai peço desculpas.

 

Mas, vamos lá.

 

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 esta pedindo um return, quando do fin da validação, se der erro nenhum, o href não segue seu destino.

 

Como faço para resolver isso?

Novamente peço desculpas e peço por favor: continue respondendo meus tópicos,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.