Setando atributos por Checkbox

3 respostas
M

Pessoal, eu ainda apanho para trabalhar com checkbox na web !!! no Delphi era fácil !!! hehehehe

Seguinte, tenho 2 campos do tipo checkbox no meu formulário que teriam que setar 0 ou 1 pros respectivos atributos (somar_frete e somar_comissao):

Formulário de inclusão do registro:

<input type="checkbox" name="somar_frete" value="1">
   <input type="checkbox" name="somar_comissao" value="1">

O problema é no formulário de alteração:

<logic:iterate name="Venda" id="recupera">
     <input type="checkbox" name="somar_frete" value="<jsp:getProperty name="recupera" property="somar_frete"/>">
     <input type="checkbox" name="somar_comissao" value="<jsp:getProperty name="recupera" property="somar_comissao"/>">
</logic:iterate>

O value vem certinho, mas se ele vem 0(desmarcado) ai eu marco teria q ir 1, mas ele continua indo 0 pq na verdade ele está 0 na propriedade “Value” no campo!!!

Como devo fazer o controle na hora de alterar o cadastro ???

Valew.

3 Respostas

fcoury

Amigo,

Quando o checkbox está desmarcado, o seu “name” não vem no request. O que você pode fazer é checar isso. Se não vier é porque ele está desmarcado.

O que vc está usando (Servlet, JSP, Struts, …). Se tiver um exemplo do código a gente pode tentar aprimorá-lo ok?

Abração!

M

e ae cara, tudo bem ??

Tô usando JSP e apenas as tags do struts!!!

Seguinte, pelo que vc falou peguei a lógica, bom eu acho neh !!! hehehehe

ficou assim:
No formulário Alterar:

<tr height="30">
  <td width="5%" align="right" class="tituloCampo"><font size="1">Somar Frete&nbsp;&nbsp;</font></td>
  <td width="30%">
     <logic:equal name="pega" property="somar_frete" value="0">
        <input name="somar_frete" type="checkbox" class="dados" value="1">	
     </logic:equal>
     <logic:equal name="pega" property="somar_frete" value="1">
        <input name="somar_frete" type="checkbox" class="dados" value="1" checked="checked">			
     </logic:equal>
  </td>
</tr>
<tr height="30">
  <td width="5%" align="right" class="tituloCampo"><font size="1">Incluir Administração&nbsp;&nbsp;</font></td>
  <td width="30%">
     <logic:equal name="pega" property="somar_comissao" value="0">
        <input name="somar_comissao" type="checkbox" class="dados" value="1">
     </logic:equal>
     <logic:equal name="pega" property="somar_comissao" value="1">
        <input name="somar_comissao" type="checkbox" class="dados" value="1" checked="checked">
     </logic:equal>		
  </td>
</tr>
M

Galera, gostaria de uma opnião sobre se a forma usada no post acima de recuperar os dados de campos checkbox no formulário de alteração está correto ?? ou existe uma outra forma ??

Valew.

Criado 20 de outubro de 2006
Ultima resposta 20 de dez. de 2006
Respostas 3
Participantes 2