Ir para conteúdo

POWERED BY:

Arquivado

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

Carcleo

Onclik Sem Return

Recommended Posts

Não, não aparecem erros;

 

Obs.:

 alert (campo5); //aqui impreime  no alert 0conclusão
 "document.getElementById("+campo5+").focus()"; // aqui, imprime erro de que conclusão (sem o 0 na frente) não esta defiNido
 document.getElementById(campo5).focus(); // aqui, não da erro 

 "document.getElementById("+campo5+").select()"; // aqui, imprime erro de que conclusão (sem o 0 na frente) não esta defiNido
 document.getElementById(campo5).select(); // aqui, não da erro 

 setTimeout("document.getElementById("+campo5+").select()", 50); // aqui, imprime erro de que conclusão (sem o 0 na frente) não esta defiNido
 setTimeout("document.getElementById(campo5).select()", 50); // aqui, não da erro 

Quer testar?

 

http://www.carcleo.com/sistema

 

usuario adiministrativo

 

usuario: caca

senha: aa

 

Pode navegar a vontade é só texte.

 

vai no menu,

* Listas de Produtos

Cadastrar

 

e escolhe o fornecedor.

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

.select() é para outra coisa.

 

oque você quer é .focus() mesmo.

 

linha 4:

if(document.forms(form).item(2).value=="") //document.forms is not a function

 

o código novo com o getElementById() não está lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, peço desculpas pois ainda não tinha atualizado no servidor.

 

Acabei de atualizar agora.

 

 

Você poderia, por favor, testar de novo?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra mim o erro é esse formato do teu name="0[string]"

 

o js procura uma variavel chamada 'condicao' e então apresenta um erro.

 

o .focus() funcionou no FF 3.6 aqui

retire esse setTimeout()

setTimeout("document.getElementById("+campo5+").focus()", 50); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você viu a linha de baixo?

 

Pois é.

Mesmo que o firefox não tenha entendido essa linha, entenderia a linha de baixo que esta sem settimeout.

 

Outra coisa.

Estou usando o firefox 5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo que o firefox não tenha entendido essa linha, entenderia a linha de baixo que esta sem settimeout.

até que sim, mas não deixe código defeituoso na página.

 

se uma instrução acima falhar, o interpretador pode truncar o processamento, e não executar nada que estiver abaixo, entendeu ?

 

por isso é importante que você corrija todos os erros que aparecerem no console.

Compartilhar este post


Link para o post
Compartilhar em outros sites

William.

 

Tirei a linha.

 

Mas é isso que estou falando. Não aparecem erros!

 

Não tem como corrigir erros se não aparecem no console.

 

E, sobre o FF 5?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qndo você interagir com o sistema, o código vai rodar, essa será a hora de ver os erros no console.

 

cara, faz assim os ids:

<select name=\"{$i}[condicao]\" id=\"condicao{$i}\" >

entendeu ?

 

vai ficar: condicao0, condicao1, condicao2..

okay? corrija para todos. Não vai impactar o teu server-side, e acho que resolve para o js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só o meu lado do servidor:

<?php
//Verificando se a variavel de sessão foi criada
if (!session_is_registered("MeuCarrinho")){
session_register("MeuCarrinho");
$MeuCarrinho = new TCarrinho();
$_SESSION[MeuCarrinho] = serialize($MeuCarrinho);
$MeuCarrinho = unserialize($_SESSION[MeuCarrinho]);	
}
$_SESSION[MeuCarrinho] = serialize($MeuCarrinho);
$MeuCarrinho = unserialize($_SESSION[MeuCarrinho]);	

 if (!empty($op)){
switch ($op) {
case "adicionar":

     $dados = filtrar_array_por_valor($_POST, 'marcado', 'on');
  if (!empty($id_produto))
  {
				if ($novo_preco=="")
				{
					echo '<script>
								 alert("O preço foi apagado acidentalmente. \n Por favor, volte e redigite!");
								 document.location="produto_lista_cadastrar.php?acao=mostra_produtos&id_fornece='.$id_fornece.'";
						  </script>';
						  break;
				}
				if ($condicao=="")
				{
					echo '<script>
								 alert("Posição não foi seleciona. \n Por favor, volte selecione!");
								 document.location="produto_lista_cadastrar.php?acao=mostra_produtos&id_fornece='.$id_fornece.'";
						  </script>';
						  break;
				}
				if ($novo_imposto=="")
				{
					echo '<script>
								 alert("O imposto foi apagado acidentalmente. \n Por favor, volte e redigite!");
								 document.location="produto_lista_cadastrar.php?acao=mostra_produtos&id_fornece='.$id_fornece.'";
						  </script>';
						  break;							  
				}
				$Query = "select id from produtos where id = $id_produto";
				$R_Query = $MySQL->query($Query);
				if (mysql_num_rows($R_Query)>0)
				{							  
				    $preco_calculado = (($novo_imposto * $novo_preco) / 100 ) + $novo_preco;
					$MeuCarrinho->AdicionarItem($id_produto,1,$novo_imposto,$preco_calculado,$condicao);
                }
   }

	else
	   {
		   // trocar o for para for each -> para cada indice da array, faça a inserção.
			  for( $i = 0; $i <= count( $dados ); $i++ )
			{
					if ($dados[ $i ] [ 'condicao' ]=="#" )
				{
					echo '<script>
								 alert("Posição não foi seleciona. \n Por favor, volte selecione!");
								 document.location="produto_lista_cadastrar.php?acao=mostra_produtos&id_fornece='.$id_fornece.'";
						  </script>';
						  break;
				}
					if( !empty( $dados[ $i ] [ 'id_prod' ] ) )
					{
					  $Query = sprintf( 'SELECT id FROM produtos WHERE id = %d', $dados[ $i ] [ 'id_prod' ] );
					  $R_Query = $MySQL->query( $Query );
					  if( mysql_num_rows( $R_Query ) > 0 )
					  {
						  $preco_calculado = (($dados[ $i ] [ 'novo_imposto' ] * $dados[ $i ] [ 'novo_preco' ]) / 100 ) + $dados[ $i ] [ 'novo_preco' ];
		$MeuCarrinho->AdicionarItem( $dados[ $i ] [ 'id_prod' ], 1 , $dados[ $i ] [ 'novo_imposto' ], $preco_calculado, $dados[ $i ] [ 'condicao' ] );
	                  }
					}

			  }
	   }
       break;
   case "excluir":
..........

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça a alteração que sugeri para todos os IDs.

 

o script que apresentei em #12:

http://forum.imasters.com.br/topic/438808-onclik-sem-return/page__view__findpost__p__1733036

 

resolve a tua questão, e deixa o teu php muito mais bonito, mas já que você quer continuar dessa forma, faça oq eu disse sobre os IDs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, alterei tudo.

Mas não faz o focus no select ainda.

 

Tenta colocar naquele codigo teu um select option .

 

Voce vai ver que não vai jogar o focus no select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade:

<html>
<head>
<script type="text/javascript">
window.onload = function(){
document.getElementById('ae').focus();
}
</script>
</head>
<body>
<input type="text" name="" />
<select name="ae" id="ae">
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
</select>
</body>
</html>

funciona sim, e funciona perfeitamente.

 

Tem algum outro problema no teu código. Atualizou com os IDs lá ?

 

[ rode o script desse post no teu ff, veja se o focus() acontece ]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se voc~e der refresh varias vezes, da pra perceber o focus(), mas em questão do final do f5 ja sai o focus.

acho que o problema é o ff 5.0

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.