Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Paschoalin

Input CHECKED não mostra valores JavaScript

Recommended Posts

NOssa, já devem ter cansado de mim né... hauauhahuahuauhauhah... Olha eu aqui com MAIS UM problema.

Bom, para quem entendeu mionha frase, provavelmente tenha visto meus tópicos anteriores ^^.

 

estou com todos os problema resolvidos, MENOS UM ! Os meus radios checked não mostram os valores iniciais na tela.

 

 

Vou tentar resumir ao máximo a questão:

Tenho um botão que abre um SPAN, dentro deste SPAN tenho alguns <input type='radio'> do mesmo grupo, e em cada rádio tenho a função OnFocus onde chamo alguns javascripts para preencher alguns <input type='hidden'> e uma funçãozinha chamada somar(); onde ele pega TODOS os valores escolhidos de cada grupo (esses valores estão armazenados no <input type='hidden'>) e mostra na tela o valor total das opções desejadas.

 

Bom, tudo isso já está acontecendo, o que não está funcionando é que quando entro na tela, eu já tenho 1 radio de cada grupo selecionado, PORÉM os valores estão em branco e o valor em R$ tb está em branco ! BOm, eu sei que não estão mostrando pq os <input type='hidden'> só são preenchidos quando seleciono o radio pela opção OnFocus, mas como poderia fazer com que caso o radio esteja CHECKED, ele faça o preenchimento desses HIDDEN ?

 

 

Vou postar agora meus javascripts, um rádio meu chamado do banco e um exemplo bem tosco do que gostaria de fazer !!! hehehe

 

Ainda estou em fase de teste, então estou somente com 2 opções...

MEUS JAVASCRIPS:

<script language='JavaScript'>

// Somar valores.
function somar() {
Configurar.ValorFinal.value = (Configurar.ValorMemoria.value*1) + (Configurar.ValorHD.value*1); }

// Opções Radio.
function Show(grupo,nome) {
document.getElementById(grupo).innerHTML = nome;
}

// Mostrar e Esconder RADIOs.
function EmGrupos(k) {
h = document.getElementsByTagName("span").length;

for( i = 1; i <= h; i++ ){
if( i == k ){ document.getElementById(i).style.visibility="visible"; }
else{ document.getElementById(i).style.visibility="hidden"; }

}

}
</script>

 

COMO ESTÁ AGORA:

// Chama Memoria:
echo ("<span id='1' style='visibility:hidden'>");
$QueryMemoria = mysql_query("SELECT * FROM produtos WHERE grupo='MEMORIA' ORDER BY preco ASC");
while ( $Memoria = mysql_fetch_array($QueryMemoria) )
{
echo ("
<label><input type='radio' name='RadioMemoria' value='" . $Memoria["nome"] . "' onFocus=\"
java script:Configurar.ValorMemoria.value='" . $Memoria["preco"] . "'; 
java script:Configurar.NomeMemoria.value='" . $Memoria["nome"] . "'; 
java script:Configurar.IdMemoria.value='" . $Memoria["Id"] . "'; 
Show('DivMemoria', ' • " . $Memoria["nome"] . "'); 
somar();\"" . ($Sugestao["memoria"] == $Memoria["Id"] ? " checked" : "") . "> " . $Memoria["nome"] . "</label><BR>");
}
echo ("</span>");

 

Agora.... CHAN CHAN CHAN CHAN.... o que gostaria de fazer:

// Chama Memoria:
echo ("<span id='1' style='visibility:hidden'>");
$QueryMemoria = mysql_query("SELECT * FROM produtos WHERE grupo='MEMORIA' ORDER BY preco ASC");
while ( $Memoria = mysql_fetch_array($QueryMemoria) )
{

# Como faço para dar uma função como estas (java script:Configurar.ValorMemoria.value='500';) sem estar em link e claro dentro do echo("...");...
# --> If ( $Sugestao["memoria"] == $Memoria["Id"] ){
# --> java script:Configurar.ValorMemoria.value='" . $Memoria["preco"] . "'; 
# --> java script:Configurar.NomeMemoria.value='" . $Memoria["nome"] . "'; 
# --> java script:Configurar.IdMemoria.value='" . $Memoria["Id"] . "'; 
# --> Show('DivMemoria', ' • " . $Memoria["nome"] . "');
# --> }

echo ("
<label><input type='radio' name='RadioMemoria' value='" . $Memoria["nome"] . "' onFocus=\"
java script:Configurar.ValorMemoria.value='" . $Memoria["preco"] . "'; 
java script:Configurar.NomeMemoria.value='" . $Memoria["nome"] . "'; 
java script:Configurar.IdMemoria.value='" . $Memoria["Id"] . "'; 
Show('DivMemoria', ' • " . $Memoria["nome"] . "'); 
somar();\"" . ($Sugestao["memoria"] == $Memoria["Id"] ? " checked" : "") . "> " . $Memoria["nome"] . "</label><BR>");
}
echo ("</span>");

Compartilhar este post


Link para o post
Compartilhar em outros sites
Se puder poste um print do seu sistema para eu ter nocao de como esta a funcionar agora

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais uma vez... divirta-se!

<html>
<head>
<title></title>
</head>
<body>
<script>
function mostrar(e) {
var i;
var objRadio = document.forms["form1"].elements["grupo_"+e];

document.getElementById(e).style.display = "block";
		for (i=0; i < objRadio.length; i++) {
		if (objRadio[i].checked == true) {
			document.getElementById("valores").value = objRadio[i].value;
		}
	}
}

function ocultar(e) {
 	document.getElementById("valores").value = "";
	document.getElementById(e).style.display = "none";
}

function alterar(e) {
var objRadio = document.forms["form1"].elements["grupo_"+e];
	for (i=0; i < objRadio.length; i++) {
		if (objRadio[i].checked == true) {
			document.getElementById("valores").value = objRadio[i].value;
		}
	}
}
</script>
<form name="form1">
<input type="radio" name="painel" value="mostrar" onClick="mostrar('g1')"> Mostrar radios
<input type="radio" name="painel" value="ocultar" onClick="ocultar('g1')"> Ocultar radios
<br><input type="text" name="valores">

<span id="g1" style="display:none">
Altere o checked para verificar o que acontece no campo texto (valores):
<br><input type="radio" name="grupo_g1" value="1000" onClick="alterar('g1')"> 1000
<br><input type="radio" name="grupo_g1" value="2000" onClick="alterar('g1')"> 2000
<br><input type="radio" name="grupo_g1" value="3000" onClick="alterar('g1')" checked> 3000
<br><input type="radio" name="grupo_g1" value="4000" onClick="alterar('g1')"> 4000
</span>

</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, este é o último post, e coloquei aqui na frente, pq se o meu raciocinio estiver correto, nem precisa ficar entendendo toda a minha página descrita abaixo.

 

Olhem o código de que preciso, é exatamente ISSO !

 

function LoadMemoria() {
var i;
var objRadio = document.forms["Configurar"].elements["RadioMemoria"];
   for (i=0; i < objRadio.length; i++) {
	  if (objRadio[i].checked == true) {
		 Configurar.ValorMemoria.value = objRadio[i].ValorMemoria.value;
		 Configurar.NomeMemoria.value = objRadio[i].NomeMemoria.value;
		 Configurar.IdMemoria.value = objRadio[i].IdMemoria.value;
		 Show("DivMemoria", " • " + objRadio[i].NomeMemoria.value; + ""); //Isso é OUTRA FUNCTION e teria que entrar aqui - postada mais abaixo.
		 somar(); // ISSO É OUTRA FUNCTION e teria que entrar aqui - postada mais abaixo.
	  }
   }
}
</script>
<body onLoad="LoadMemoria();">

Assim, ele pegaria todas as informações com o radio CHECKED, e ao carregar da página (que seria um direcionamento) já estária com as configurações PADRÂO selecionadas e atualizadas para a visualização do cliente.

 

COmo poderia alterar isso acima para funfar ?

 

 

klonder, você é f*** cara.... hehehehe... era o que precisava, mas com probleminha, agora tenho que adaptar isso, pq na verdade vou usar uma função sua, esta:

 

function mostrar(e) {
var i;
var objRadio = document.forms["form1"].elements["grupo_"+e];

document.getElementById(e).style.display = "block";
		for (i=0; i < objRadio.length; i++) {
		if (objRadio[i].checked == true) {
			document.getElementById("valores").value = objRadio[i].value;
		}
	}
}

Eu na verdade gostaria de fazer este tipo de verificação dentro do PHP e não em Javascript, mas então vamos ver o que dá para ser feito OK...

 

# IMPORTANTE:

Mas tem um detalhe, da forma que está eu ainda continuo dependendo de um certo clique para o preenchimento, eu precido que o conteúdo HIDDEN seja preenchido no carragamento da página ! (Eu poderia dar um <body OnLoad='FuncaoCarregar();'>, mas preciso saber como seria está função para de fato carregar os CHECKED em TODOS os grupos.

#

 

Vou mostrar abaixo TODO o meu código, se puder dar uma analizada nas funções que já estou utilizando e como estou utilizando, e ver como podemos encaixar esta função acima, beleza ?!!!!

 

E desde já, MUITO OBRIGADO pelas ajudas...

 

<?php include ("admin/conexao.php"); ?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	overflow: auto;
}
-->
</style>

<script language='JavaScript'>

// Somar valores.
function somar() {
Configurar.ValorFinal.value = (Configurar.ValorMemoria.value*1) + (Configurar.ValorHD.value*1); }

// Opções Radio.
function Show(grupo,nome) {
document.getElementById(grupo).innerHTML = nome;
}

// Mostrar e Esconder RADIOs.
function EmGrupos(k) {
h = document.getElementsByTagName("span").length;

for( i = 1; i <= h; i++ ){
if( i == k ){ document.getElementById(i).style.visibility="visible"; }
else{ document.getElementById(i).style.visibility="hidden"; }

}

}
</script>
<link href="CSS/Estilo_Colors.css" rel="stylesheet" type="text/css">
<link href="CSS/Estilo_Links.css" rel="stylesheet" type="text/css">
<?
// Chama a Sugestão escolhida
$QuerySugestao = mysql_query("SELECT * FROM sugestoes WHERE Id=" . $_GET["Id"]);
$Sugestao = mysql_fetch_array($QuerySugestao);

?>
<script src="../Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<form name="Configurar" method="post" action="?Fazer">
<table width="920" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" valign="top">
<a href='java script:EmGrupos(1)'>MEMORIA</a><br><br>
<a href='java script:EmGrupos(2)'>DISCO RIGIDO</a>
</td>
<td width="400" valign="top">

<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="200"><img src="<?= $Sugestao["imagem"] ?>" border="0"></td>
</tr>
<tr class="Verdana_14_PretoB">
<td height="50">Adicione a opção desejada:</td>
</tr>
<tr><td>
<?

// Chama Memoria:
echo ("<span id='1' style='visibility:hidden; position:absolute;'>");
echo ("<div class='Verdana_12_PretoB'>Memória Ram:<Br><Br></div>");
$QueryMemoria = mysql_query("SELECT * FROM produtos WHERE grupo='MEMORIA' ORDER BY preco ASC");
while ( $Memoria = mysql_fetch_array($QueryMemoria) )
{
echo ("<div class='Verdana_10_PretoB'>
<label><input type='radio' name='RadioMemoria' value='" . $Memoria["nome"] . "' onFocus=\"
java script:Configurar.ValorMemoria.value='" . $Memoria["preco"] . "'; 
java script:Configurar.NomeMemoria.value='" . $Memoria["nome"] . "'; 
java script:Configurar.IdMemoria.value='" . $Memoria["Id"] . "'; 
Show('DivMemoria', ' • " . $Memoria["nome"] . "'); 
somar();\"" . ($Sugestao["memoria"] == $Memoria["Id"] ? " checked" : "") . "> " . $Memoria["nome"] . "</label><BR>

</div>");
}
echo ("</span>");



// Chama HD:
echo ("<span id='2' style='visibility:hidden; position:absolute;'>");
echo ("<div class='Verdana_12_AzulB'>Disco Rigido (HD):<Br><Br></div>");
$QueryHD = mysql_query("SELECT * FROM produtos WHERE grupo='HD' ORDER BY preco ASC");
while ( $HD = mysql_fetch_array($QueryHD) )
{
echo ("<div class='Verdana_10_PretoB'>
<label><input type='radio' name='RadioHD' value='" . $HD["nome"] . "' onFocus=\"
java script:Configurar.ValorHD.value='" . $HD["preco"] . "'; 
java script:Configurar.NomeHD.value='" . $HD["nome"] . "'; 
java script:Configurar.IdHD.value='" . $HD["Id"] . "'; 
Show('DivHd', ' • " . $HD["nome"] . "'); 
somar();\"" . ($Sugestao["hd"] == $HD["Id"] ? " checked" : "") . "> " . $HD["nome"] . "</label><BR><br>
</div>");
}
echo ("</span>");

?>
</td></tr>
</table></td>
<td width="9" align="center" valign="top" background="images/Oferta_pag1_05.jpg"> </td>
<td width="311" align="center" valign="top">

<table width="290" border="0" cellpadding="0" cellspacing="0" class="Verdana_12_Azul">
<tr><td height="50">modelo da sugestão<Br><Br>
Linha: A7N</td>
</tr>
<tr>
<td height="35">
TOTAL:_________ R$ <input name='ValorFinal' type='text' class="Box_14_Trans_Preta" size='12' readonly='true' style="text-align:left;">
</td>
</tr>
<tr><td><div class="Verdana_10_PretoB">Memória:</div><div id="DivMemoria" class="Verdana_12_Azul"></div><Br></td></tr>
<tr><td><div class="Verdana_10_PretoB">Disco Rigido:</div><div id="DivHd" class="Verdana_12_Azul"></div><br></td></tr>
<tr><td>
<input name='ValorMemoria' type='hidden'>
<input name='NomeMemoria' type='hidden'>
<input name='IdMemoria' type='hidden'>
<input name='ValorHD' type='hidden'>
<input name='NomeHD' type='hidden'>
<input name='IdHD' type='hidden'>
</td></tr>
</table>

</td>
</tr>
</table>
</form>

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.