Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal como faço para marcar varios checkbox e depois do reflesh da pagina os checkbox que foram marcado continue marcado, se eu marca so um ele funciona mais se marcar dois ou tres já não funciona
alguém tem uma ideia de como fazer isso.
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="check2.asp">
<input name="vai" type="checkbox" id="vai" value=".com.br" <% If request("vai")=".com.br" Then Response.Write("checked")%>>
<br>
<input name="vai" type="checkbox" id="vai" value=".com" <% If request("vai")=".com" Then Response.Write("checked")%>>
<br>
<input name="vai" type="checkbox" id="vai" value=".net" <% If request("vai")=".net" Then Response.Write("checked")%>>
<br>
<input name="vai" type="checkbox" id="vai" value=".org" <% If request("vai")=".org" Then Response.Write("checked")%>>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>O xanburzum pode esta certo.
Fiz assim:
<%
response.write "oioio = " & request.form
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="check2.asp">
<input name="vai1" type="checkbox" id="vai1" value=".com.br" <% If request("vai1")=".com.br" Then Response.Write("checked")%>>
<br>
<input name="vai2" type="checkbox" id="vai2" value=".com" <% If request("vai2")=".com" Then Response.Write("checked")%>>
<br>
<input name="vai3" type="checkbox" id="vai3" value=".net" <% If request("vai3")=".net" Then Response.Write("checked")%>>
<br>
<input name="vai4" type="checkbox" id="vai4" value=".org" <% If request("vai4")=".org" Then Response.Write("checked")%>>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
E funcionou. Mas não sei te atende.
Olha fiz esse for funciona perfeitamente. mais o problema e que os checkbox tem que ter o mesmo nome. os checkbox tem que ser abaixo conforme destacado, porque assim fica melhor para adicionar mais estensões
<%
x=split(request("vai"),","
for i=1 to 10
for i2=lbound(x) to ubound(x)
if x(i2)=i then
xx="checked"
else
xx=""
next
%>
<input name="vai" type="checkbox" id="vai" value="<%=i%>" <%=xx%>>
<br>******<input name="vai" type="checkbox" id="vai" value=".com.br">**
******<input name="vai" type="checkbox" id="vai" value=".com">**
******<input name="vai" type="checkbox" id="vai" value=".org">**
******<input name="vai" type="checkbox" id="vai" value=".net">**
********
****
Não entendi muito bem, porém você poderia contornar a questão da nomenclatura assim:
<%
x=split(request("vai"),","
for i=1 to 10
for i2=lbound(x) to ubound(x)
if x(i2)=i then
xx="checked"
else
xx=""
next
%>
<input name="vai<%=i%>" type="checkbox" id="vai<%=i%>" value="<%=i%>" <%=xx%>>
<br>Com o código acima você vai criar as id´s e name´s diferenciadas e pode fazer o mesmo for para recuperar as informações.
Como não captei bem o que você pretenre posso estra falando bobagem se estiver desconsidere.
Amigo o nome dos checkbox não pode ser diferente o nome tem que ser igual para todos. se o nome for diferente e muito facil fazer o problema e que o nome dos checkbox tem que ser igual.
>
Olha fiz esse for funciona perfeitamente. mais o problema e que os checkbox tem que ter o mesmo nome. os checkbox tem que ser abaixo conforme destacado, porque assim fica melhor para adicionar mais estensões
<%
x=split(request("vai"),","
for i=1 to 10
if cint(x(i2))=cint(i) then
xx="checked"
exit for
else
xx=""
end if
next
%>
<input name="vai" type="checkbox" id="vai" value="<%=i%>" <%=xx%>>
<br>******<input name="vai" type="checkbox" id="vai" value=".com.br">**
******<input name="vai" type="checkbox" id="vai" value=".com">**
******<input name="vai" type="checkbox" id="vai" value=".org">**
******<input name="vai" type="checkbox" id="vai" value=".net">**
********
****
olha este exemplo
if qtd_produtos = "" then
Response.write("erro..."
response.redirect("outra_pagina.asp")
else
qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")
For i = 1 To Request.Form("produtos").Count
Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"igadino,
Desculpe se sugeri algo que não lhe ajudou. Como não consigo saber o que vai na sua cabeça as vezes querendo ajudar acabamos atrapalhando.
>
Amigo o nome dos checkbox não pode ser diferente o nome tem que ser igual para todos. se o nome for diferente e muito facil fazer o problema e que o nome dos checkbox tem que ser igual.
Qual a justificativa: para ter de ser igual?
O problema é o seguinte se os id´s e name´s forem igual o conteúdo de request("vai") fica igual: .com.br, .com, .net, .org.
Veja:
<%
response.write " vai1 = " & request.form("vai")& "<br>"
%>
Dai não vai entrar no If request("vai")=".com.br" pois o contéudo de request("vai") é: .com.br, .com, .net, .org.
Não me leve a mal mas na minha humilde opinião, como você esta gerando o checkbox com um for eu geraria com id´s deferentes como no exemplo que postei acima. E usaria um for para recuperar os valores.
ou você pode gerar com nomes iguais e depois dar um SPLIT neles para separar os que foram selecionados
check= Split(Request.Form("checkbox"), ",")
For i = 1 To Request.Form("checkbox").Count
Response.write request.form("checkbox")(i)&"<BR>" & request.form("check")(i)&"<BR>"
Bom dia galera, eu montei um código em javascript para atender justamente a isso, sem precisar ter nome "igual"
<script language="javascript">
function _selecao(total,g){
var i;
var g;
var total;
grupo = document.getElementById('grupo'+g).checked;
if(grupo==true){
for(i=1; i<total; i++)
{
//alert('tipo'+g+'-'+i);
document.getElementById('tipo'+g+'-'+i).checked = true;
}
}
else{
for(i=1; i<total; i++)
{
//alert('tipo'+g+'-'+i);
document.getElementById('tipo'+g+'-'+i).checked = false;
}
}
}
function _grupo(total,g){
var i;
for(i=1;i<=total;i++){
//alert(i);
//alert('tipo'+g+'-'+i);
//alert(document.getElementById('tipo'+g+'-'+i).checked);
if(document.getElementById('tipo'+g+'-'+i).checked==true){
ativar = true;
acao_grupo(ativar,g);
return false;
}else{
ativar = false;
}
}
//alert(ativar);
acao_grupo(ativar,g);
}
function acao_grupo(a,g){
if(a==true){
document.getElementById('grupo'+g).checked = true;
}else{
document.getElementById('grupo'+g).checked = false;
}
}
function mudar_valor(valor){
//alert('checked = '+valor.checked);
//alert('valor = '+valor.value);
if(valor.checked==true){
valor.value = 'false';
}else{
valor.value = 'true';
}
}
</script>
<input onclick="_selecao('3','1');" type="checkbox" name="C1" id="grupo1" value="ON"><br>
<input onclick="_grupo('2','1');mudar_valor(this);" type="checkbox" name="C2" id="tipo1-1" value="true">TIPO1 - 1<br>
<input onclick="_grupo('2','1');mudar_valor(this);" type="checkbox" name="C3" id="tipo1-2" value="true">TIPO1 - 2<br><br>
<input onclick="_selecao('3','2');" type="checkbox" name="C1" id="grupo2" value="ON" checked><br>
<input onclick="_grupo('2','2');" type="checkbox" name="C2" id="tipo2-1" value="ON" checked>TIPO2 - 1<br>
<input onclick="_grupo('2','2');" type="checkbox" name="C3" id="tipo2-2" value="ON">TIPO2 - 2
O legal deste código é que você pode selecionar vários ao mesmo tempo ou apenas um de um grupo. Altere aí pro que você precisar.
Abs.
Amigo os nomes tem que ser igual ão pode ser nomes diferentes.
igadino,
Com disse com name igual o contéudo do request fica: ".com.br, .com, .net, .org."
Então não têm como você utilizar If request("vai")=".com.br".
Uma forma de contorna isto seria usar o instr
Tomando como base o código que você postou no início fiz este exemplo a seguir. Funciona mas fica meio que uma gambiarra. E não sei se vai ajudá-lo mas segue o exemplo:
<%
response.write "oioio = " & request.form & "<br>"
sVai = split(request.form("vai"),",")
for i = 0 to ubound(sVai)
sVai(i) = trim(sVai(i))
next
sVai = join(sVai,",")
sVai = "," & replace(sVai,",",",") & ","
response.write " svai = " & sVai & "<br>"
response.write " sVai = " & sVai & "<br>"
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="check2.asp">
<input name="vai" type="checkbox" id="vai" value=".com.br" <% If instr(sVai,",.com.br,") > 0 Then Response.Write("checked")%>>.com.br</>
<br>
<input name="vai" type="checkbox" id="vai" value=".com" <% If instr(sVai,",.com,") > 0 Then Response.Write("checked")%>>.com</>
<br>
<input name="vai" type="checkbox" id="vai" value=".net" <% If instr(sVai,",.net,") > 0 Then Response.Write("checked")%>>.net</>
<br>
<input name="vai" type="checkbox" id="vai" value=".org" <% If instr(sVai,",.org,") > 0 Then Response.Write("checked")%>>.org</>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>Amigo muito obrigado valeu
Foi demis++++++++++++++.
apenas complementando, o uso do Instr
recupera ele e guarda em uma session