Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho uma lista de registros, onde necessito alterar um dos campos, porém, só devo gravar os registros que tiverem seu checkbox marcado...
gostaria de uma idéia, pra ver oq tem de diferente e errado na que eu implementei...
mto obrigado
Ricardo
ricsant03@gmail.com
Precisamos ver o código que você implementou para ver "o que tem de errado"!
eu quero saber como recupero, em asp, só os marcados... e os associo ao id para fazer o update
fiz um for i = 1 to request.querystring("ckb").count onde ckb é meu checkbox
mas não tá funcionando direito... só qdo marco todos da lista
fico no aguardo se puder me dar mais alguma dica
obrigado
Coloque o codigo que você implementou aqui
aqui esta como fiz, num primeiro asp que monta a tela, tem um javascript pra dar submit no form:
function GravaQtd(){
var check = document.all.ckb;
if(check != null)
{
var bchecado = false;
if(check.length != null)
{
for(var i=0; i <check.length; i++)
{
if(check[i].checked)
{
bchecado = true;
break;
}
}
}
else
{
if(check.checked)
{
bchecado = true;
}
}
if(!bchecado)
{
alert("Selecionar pelo menos um registro para alterar quantidade");
return;
}
if(check.length != null)
{
for(var i=0; i <check.length; i++)
{
if(check[i].checked)
{
if (trim(document.getElementById("inpQtd" + i).value) == "")
{
alert("Favor informar a QUANTIDADE");
return;
}
}
}
}
else
{
if(check.checked)
{
if (trim(document.getElementById("inpQtd0").value) == "")
{
alert("Favor informar a QUANTIDADE");
return;
}
}
}
var parametros = "";
if(check.length != null)
{
for(var i=0; i <check.length; i++)
{
if(check[i].checked)
{
if( i == 0)
{
parametros= parametros + 'pid=' + check[i].value + '&qtd=' + trim(document.getElementById("inpQtd"+i).value);
}
else
{
parametros= parametros + '&pid=' + check[i].value + '&qtd=' + trim(document.getElementById("inpQtd"+i).value);
}
}
}
}
else
{
if(check.checked)
{
parametros = parametros + 'pid=' + check.value + '&qtd=' + trim(document.getElementById("inpQtd0").value);
}
}
}
// alert(parametros);
document.edit.action = "prodcrud.asp?" + parametros + "&acao=altQtd";
document.edit.submit();
}
<form name="edit" method="post" action="prodCrud.asp">
<br>
<table id="tables">
<tr>
<th align="center" style="width:100px;"><b>CÓDIGO</b></th>
<th align="center" style="width:300px;"><b>PRODUTO</b></th>
<th align="center" colspan="3" style="width:200px;"><b>QUANTIDADE</b></th>
<th align="center" style="width:200px;"><b>EXCLUSÃO</b></th>
<th align="center" style="width:200px;"><b>ATIVAR/DESATIVAR</b></th>
</tr>
<%
databaseConnection.Open(SQLConnectionString)
Set objCmd2 = Server.CreateObject ("ADODB.Command")
objCmd2.ActiveConnection = databaseConnection
objCmd2.CommandText = "select * from produtos where aid in (select id from academias where uaid = " & Session("UsuarioId") & ") order by produto asc"
objCmd2.CommandType = adCmdText
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open objCmd2
Dim i
i = 0
While not rs.EOF
str = "<tr><td align=""center"">" & rs("pid") & "</td><td><a href=prodcad.asp?pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'>" & rs("produto") & "</a></td><td align='center'><input type='checkbox' name='ckb' value='" & rs("pid") & "'/></td><td align=""center""><input type='text' name='inpQtd' id='inpQtd" & i & "' size='5' maxlength='4' onKeyPress='return Enum(event)' value='" & Trim(rs("qtd")) & "'></td>"
str = str + "<td align=""center""> </td>"
str = str + "<td align=""center""><a href=prodcrud.asp?acao=deletar&pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'><b>Deletar Produto</b></a></td>"
if cint(rs("fl_encerrado")) = 1 Then
str = str + "<td align=""center""><a href=prodcrud.asp?acao=liberar&pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'><b>Ativar Produto</b></a></td></tr>"
else
str = str + "<td align=""center""><a href=prodcrud.asp?acao=bloquear&pid=" & rs("pid") & " style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:1px;'><b>Desativar Produto</b></a></td></tr>"
end if
Response.Write(str)
rs.movenext
i = i + 1
wend
%>
</form>
</table>
</div>
<div style="top:30px;">
<button type="button" id="incluir" value="INCLUIR PRODUTO" onClick="location.href='prodcad.asp?pid=0'" style="left:490px;">
</button>
<p style="font-size: 13px; top:-20px; left:450px;"><b>Incluir Produto</b>
<a href='#' style='font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; color:black; top:-2px;' onClick="GravaQtd();"><img src=../img/Synchonize.png style='width:30px;'><b>Alterar Quantidade</b></a>
</p>
</div>for i=1 to Request.QueryString("qtd").Count
strQry = "Update produtos set qtd = '" & Request.QueryString("qtd")(i) & "' where pid = " & Request.QueryString("pid")(i)
response.write strQry
objCmd2.CommandText = strQry
rs.Open objCmd2
nextTenta assim:
for i=1 to Request.Form("ckb").Count
strQry = "Update produtos set qtd = '" & Request.QueryString("qtd")(i) & "' where pid = " & Request.QueryString("pid")(i)
response.write strQry
objCmd2.CommandText = strQry
rs.Open objCmd2Amigo apanhei muito mais conseguir fazer este codigo que edita varios registros que esta no checkbox
Parte 01
<%
'------> MS Access 2000 usando uma pasta virtual
Set conn = Server.CreateObject("ADODB.CONNECTION")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("../../db/virtuastore.mdb")
' StringdeConexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("database/virtuastore.mdb")
Set RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação
sql="select * from pedidos"
Set RS = conn.Execute(sql)<form action="atualizapedido.asp" method="post" name="registro1">
<table>
<tr><TD><input name="quant<%=intProdID %>" size="2" value="<%=intQuant%>" onChange="HandleError<%= intProdID %>(this)" style=font-size:11px;font-family:<%=fonte%>; maxlength=2></TD>
<TD><input type="checkbox" name="pg_id<%=intProdID %>" id="<%=varCont%>" value="<%=intProdID %>"></TD></tr>
</table>%>
<input type="submit" name="VER" value="Enviar">
</form>Parte 02
<%
Set conn = Server.CreateObject("ADODB.CONNECTION")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("../../db/virtuastore.mdb")
Set RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação
intOrderID = "1"
set rsProd = conn.Execute("SELECT * FROM pedidos WHERE idcompra='"&intOrderID&"';")
if rsProd.EOF and rsProd.BOF then
rsProd.close
set rsProd = Nothing
abredb.Close
set abredb = Nothing
else
do while not rsProd.EOF
element = "quant" & rsProd("idprod")
intQuant = Request.form(element)
intQuantz = rsProd("idprod")
pg_id = "pg_id" & rsProd("idprod")
ID_Quant = Request.form(pg_id)
if intQuant <> "" and isNumeric(intQuant) then
set rsProd1 = conn.Execute("update pedidos set quantidade='"&intQuant&"' WHERE idcompra='"&intOrderID&"' AND idprod='"&ID_Quant&"';")
end if
rsProd.MoveNext
loop
rsprod.close
set rsProd = Nothing
conn.Close
set conn = Nothing
Response.Redirect "/"
end if
conn.Close
set conn = Nothing
%>
legal, vou inserir no laboratorio de script...
Coloque o codigo que você implementou aqui