Ir para conteúdo

Arquivado

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

Carcleo

abrir div a partir de onclik em checkbox

Recommended Posts

Ola.

 

Tenho o seguinte codigo :

<form name="verpreco" method="post" action="?acao=verpreco">
<table width="500" border="1" align="center">
  <tr>
    <td colspan="10" align="center" valign="middle">Pesquisa de preços de fornecedores:</td>
  </tr>
  <tr><td colspan="10">Produto:</td></tr>
    <?
    $i=1;
	while (list($id, $nome) = mysql_fetch_row($produtos))
	{
			echo "<td><input type='checkbox' name='produtoid[]' value='$id' onclick='mostra('valor$id')'/>$nome<br>";
			echo "<div id='valor$id' name='valor$id' style='display:none'><input type='text' name='valor$id'></div>";
			echo "</td>";
			if( $i%10==0 ) {echo '</tr><tr>';}
	
			$i++;
	}

    ?>	
    
  <tr>
    <td colspan="10" align="center" valign="middle"><input type="submit" value="Pesquizar" /></td>
  </tr>
</table>
</form>
A ideia é listar nomes de produtos em checkboxes e, a medida que esses produtos vão sendo marcados ou desmarcados, vão sendo abertas pela funçao mostra() divs para o cliente colocar a quantidade daquele produto.

 

Porem, quando chamo a funçao mostra, da erro na linha trez dizendo que mostra('parametro') é um objeto.

 

Onde estou errando?

 

function mostra(div)
{
	alert (div);
if (document.getElementById(div).style.display != "none")
{
document.getElementById(div).style.display = "none";
}
else
{
document.getElementById(div).style.display = "block";
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fechei e abri a tag php e puz o htlm no meio e resoloveu parte do problema.

Agora, a situaçao é outra.

 

Tenho outra js que verifica se o campo esta ou não vazio, porem só funciona no primeiro campo.

<form name="verpreco" method="post" action="?acao=verpreco">
<table width="500" border="1" align="center">
  <tr>
    <td colspan="10" align="center" valign="middle">Pesquisa de preços de fornecedores:</td>
  </tr>
  <tr><td colspan="10">Produto:</td></tr>
    <?
    $i=1;
	while (list($id, $nome) = mysql_fetch_row($produtos))
	{
/*			echo "<td><input type='checkbox' name='produtoid[]' value='$id' onclick='mostra('valor$id')'/>$nome<br>";
			echo "<div id='valor$id' name='valor$id' style='display:none'><input type='text' name='valor$id'></div>";
			echo "</td>";
*/
?>
	  <td width="48" valign="top">
        <input type="checkbox" name="produtoid[]" value="<?=$id;?>" onclick="mostra('valor<?=$id;?>')"/><?=$nome;?><br>
        <div id="valor<?=$id;?>" name="valor<?=$id;?>" style="display:none"><input type="text" size="10" name="valor<?=$id;?>"></div>
      </td>

<?

			if( $i%10==0 ) {echo '</tr><tr>';}
	
			$i++;
	}

    ?>	
    
  <tr>
    <td colspan="10" align="center" valign="middle"><input type="button" value="Pesquizar" onclick="verifica_quantidade_produto('valor1')" /></td>
  </tr>
</table>
</form>
verifica_quantidade_produto.js

// JavaScript Document
function verifica_quantidade_produto(div)
{
   if ((document.getElementById(div).style.display == "block") && (document.verpreco.elements[div].value == ""))
	  {
		  alert ('Campo tem que ser preenchido + Chr(13) + Caso contrário, desmarque o produto!');
	      document.verpreco.elements[div].focus();
	  }
}
abre_fecha.js

function mostra(div)
{
if (document.getElementById(div).style.display != "none")
{
document.getElementById(div).style.display = "none";
}
else
{
document.getElementById(div).style.display = "block";
}
}

Como corrige isso?

 

Bom pessoal

 

tenho o códigpo abaxo em que a variavel DIV recebe o valor de "valor1;valor2;valor3;valor4;valor5";

 

// JavaScript Document
function verifica_quantidade_produto(div)
{
	var div_produtos, string_array;
	var array_produtos = new Object();
    string_array = div;
	array_produtos = string_array.split(";");
    //varre o array só pra mostrar que tá tudo ok
	alert( div);
	alert( string_array);		
	alert( array_produtos);	
	
    for (div_produtos in array_produtos)
	  {
		  alert(div_produtos);
		  
		 if ((document.getElementById(div_produtos).style.display == "block") && (document.verpreco.elements[div_produtos].value == ""))
			{
				alert ('Campo tem que ser preenchido + Chr(13) + Caso contrário, desmarque o produto!');
				document.verpreco.elements[div_produtos].focus();
			}
	   }
}
O que eu preciso fazer.

 

Criar uma array com esse valor de DIV e para cada um indice desse array, eu criar esse código.

 if ((document.getElementById(div_produtos).style.display == "block") && (document.verpreco.elements[div_produtos].value == ""))
			{
				alert ('Campo tem que ser preenchido + Chr(13) + Caso contrário, desmarque o produto!');
				document.verpreco.elements[div_produtos].focus();
			}

Onde estou errando?

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.