Publicidade

Gilberto Jr

Salvando Formulário Com Vários Checkbox e Radios

Bom dia pessoal;

 

Eu estou com um problema em um formulário aqui no meu sistema que eu não estou conseguindo resolver.

 

Seguinte, tenho um formulário, e nesse formulário tem vários checkbox com o mesmo nome, e vários radios com o mesmo nome. E tipo, quando eu marcar o checkbox ele tem que desmarcar o se algum radio estiver marcado, e se eu marcar algum radio ele deve desmarcar o checkbox daquela linha.

 

E caso eu selecione algum radio, ele deve abrir um <select name="teste"></select>. Isso para cada linha. Lembrando que cada radio é <select name="teste"></select> diferente.

 

E quando eu salvar, ele tem que salvar informação nos valores dos checkbox marcados, e nos que não foram marcados, ele deve salvar outra informação, que é salvar o valor do radio marcado e o valor do <select name="teste"></select> 

 

Segue o código do meu formulário.

 


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Formulario</title>
</head>

<body>

<form method="post" action="#update_baixa_atribuicao.asp" id="form77">
<%

set bscvolume2 = conn.execute("select datrib.id as iddatrib, count(SUBSTRING(n_rastreador,1,12)) as totalv, catrib.id as id,datrib.status_entrega as status_entrega,entr.idcliente as destinatario,SUBSTRING(n_rastreador,1,12) as n_rastreador from d_atribuicao as datrib inner join c_atribuicao as catrib on catrib.id=datrib.id_atribucao inner join volume as vl on vl.n_rastreio=datrib.n_rastreador inner join entrega as entr on vl.id_entrega=entr.id  where catrib.id='"&idcatrib&"' group by SUBSTRING(n_rastreador,1,12)")


WHILE bscvolume2.eof = false
%>
  <tr class="texto">
    <td>
    <%=bscvolume2("n_rastreador")%>
    </td>
    <td>

    <%
        set bscdest = conn.execute("select * from clientes where id='"&bscvolume2("destinatario")&"'")
    %>
    <%=bscdest("fantasia_apelido")%>
    </td>
    <td>
    
    <input type="hidden" name="rastreio" value="<%=bscvolume2("n_rastreador")%>" />
    <input type="text" name="idcatrib" value="<%=bscvolume2("iddatrib")%>" />
        <a href="#" rel="tooltip" alt="<strong>VOL(S):<%while rsp2.eof = false:response.Write("&nbsp;"&right(rsp2("n_rastreador"),2)&"&nbsp;"):rsp2.movenext:wend%></strong>">    
        <%=rsp("tt")%>    
        </a>
    </td>
    <td>
    
    <input type="checkbox" id="rastro" name="rastro" value="<%=bscvolume2("n_rastreador")%>" />

    </td>
    <td>
    <input type="radio" name="entreddevo" id="redist" value="5" />
    </td>
    <td>
    <input type="radio" name="entreddevo" id="devolv"  value="6" />
    </td>
    <td>
    <select name="motivored" id="motivored">
    <option value="Endereço Insuficiente">Endereço Insuficiente</option>
    <option value="Endereço Não Existe">Endereço Não Existe</option>
    <option value="Ausente">Ausente</option>
    <option value="Desconhecido">Desconhecido</option>
    <option value="Recusado">Recusado</option>
    <option value="Outros">Outros</option>
    </select>
    
    <select name="motivodev" id="motivodev">
    <option value="Ausente">Ausente</option>
    </select>
    </td>
    <td>
    

<input type="hidden" id="validalink" value="<%=cint(rsr("tt"))%>" />


    </td>    

  </tr>
<%
bscvolume2.movenext
wend
%>

<tr>
    <td colspan="8" align="center">
    <input type="submit" value="SALVAR" class="enviar" />
    </td>
</tr>
</form>

</table>


</body>
</html>

 

Se alguém puder me ajudar.

 

Att;

Gilberto Jr

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por Mike Figueiredo
      Boa tarde, estou com um problema ( Desde já digo, não conheço muito sobre javascript ). Tenho um formulário onde um determinado <input type="text"> se inicia bloqueado, quando o usuário seleciona alguma modalidade de DUPLA através do checkbox, o campo é liberado para o preenchimento, todavia, se o usuário desmarcar o checkbox selecionado o campo deve voltar a ficar bloqueado. Consegui realizar esse evento usando apenas UM checkbox, contudo não consigo fazer o evento funcionar quando uso mais de um checkbox para controlar o evento. São 5 checkbox, ao selecionar qualquer um deles, o campo é habilitado, mas se ele desmarcar o checkbox e, não houver NENHUM checkbox marcado, o campo deve ser bloqueado novamente. Desde já, obrigado.
       
      CÓDIGO JS ( Sim, eu sei, está horrível, não consegui fazer rodas usando um só id, então criei um id para cada checkbox)
       
                 $(document).ready(function() {
                          // desabilitando o campo 
                      $('.travamento-dupla').attr("disabled", true);
                      // mudando a cor do campo
                          $('.travamento-dupla').css("background-color", "#cccccc"); 
                  });
                  
                  $(document).ready(function() {
                  
                     $("#disable").click(function (){
                          // habilitando o campo 
                      $('.travamento-dupla').attr("disabled", false);
                      // mudando a cor do campo
                          $('.travamento-dupla').css("background-color", "#ffffff"); 
                     });
                  });
                  
                  $(document).ready(function() {
                  
                     $("#disable1").click(function (){
                          // habilitando  o campo 
                      $('.travamento-dupla').attr("disabled", false);
                      // mudando a cor do campo
                          $('.travamento-dupla').css("background-color", "#ffffff"); 
                     });
                  });
                  
                  $(document).ready(function() {
                  
                     $("#disable2").click(function (){
                          // habilitando  o campo 
                      $('.travamento-dupla').attr("disabled", false);
                      // mudando a cor do campo
                          $('.travamento-dupla').css("background-color", "#ffffff"); 
                     });
                  });
                  
                  $(document).ready(function() {
                  
                     $("#disable3").click(function (){
                          // habilitando  o campo 
                      $('.travamento-dupla').attr("disabled", false);
                      // mudando a cor do campo
                          $('.travamento-dupla').css("background-color", "#ffffff"); 
                     });
                  });
                  
                  $(document).ready(function() {
                  
                     $("#disable4").click(function (){
                          // habilitando  o campo 
                      $('.travamento-dupla').attr("disabled", false);
                      // mudando a cor do campo
                          $('.travamento-dupla').css("background-color", "#ffffff"); 
                     });
                  });
       
      FIM CÓDIGO JS
       
       
       
      CÓDIGO HTML
       
      <input id="disable" type="checkbox" name="modalidades[]" value="Truco, ">Truco<br/>
                                  
       <input id="disable1" type="checkbox" name="modalidades[]" value="Dominó, " > Dominó <br/>
                                  
        <input id="disable2" type="checkbox" name="modalidades[]" value="Canastra, " > Canastra<br/>
                                  
        <input id="disable3" type="checkbox" name="modalidades[]" value="Tênis de quadra - Dupla mista, " > Tênis de quadra - Dupla mista <br/>
                                  
       <input id="disable4" type="checkbox" name="modalidades[]" value="Tênis de quadra - Dupla Masculino e Feminino, " > Tênis de quadra - Dupla Masculino e Feminino <br/>
       
      <input class="travamento-dupla" type="text" name="nomedupla" placeholder="Campo válido somente para as modalidades em dupla" maxlength="50" required/>
       
       
      FIM CÓDIGO HTML
    • Por PAULO ROBERTO NOGUEIRA
      Pessoal...continuando rs...Tenho um função javascript que pega os dados do registro e encaminha para um form modal para que o usuario possa alterar as informacoes, basicamente ele pega os dados da linha da tabela, chama a funcao passando esses dados nos parametros. Bom dai a funcao encaminha esses dados para o form do modal usando o ID de cada componente. Acontece que se o componente for do tipo text, blz, ele encaminha e o modal aparece preenchido, mas eu tenho campos do tipo radio e enviando o valor ao componente do tipo radio ele nao aceita, simplesmente aparece sem estar checked...o que eu preciso eh que quando eu clicar para alterar a funcao encaminhe ao form do modal todos os dados completos preenchidos para que o usuario altere. o que for text com seus respectivo valor, o que for radio marcado o que estiver marcado. Entenderam?
    • Por Guilherme Luiz
      Fala pessoal
       
      Seguinte, olhem esse código que fiz
      $(document).ready(function() { $('#origin_1').change(function(){   if($('#origin_1').prop('checked')){     $('#originInput_1').css('display','block');     $('#origin_2').attr('disabled', $('#origin_2').disabled = true);$('label.btn-danger').css('cursor','not-allowed');$('span.toggle-handle').css('cursor','not-allowed');   }else{     $('#originInput_1').css('display','none'); $('label.btn-danger').css('cursor',''); $('span.toggle-handle').css('cursor','');     $('#origin_2').attr('disabled', $('#origin_2').disabled = false);   } }); }); Problema com ele? Não, nenhum!
      O que ele faz? Baseado se um checkbox está checado ou não, os demais check da pagina recebem atributos
       
      Necessidade de "encurta-lo" e deixa-lo mais limpo? Sim!
       
      Baseado nisso eu tenho a seguinte situação:
      Uma pagina com 2 checkbox que por default não estão checados.
       
      Quando o primeiro checkbox - #origin_1 é checado, eu incluo o atributo disabled no segundo checkbox #origin_2 e aplico alguns atributos CSS como block numa div e alteração de cursor em alguns outros que são relacionados a esse segundo checkbox. E quando o check #origin_1 é "des"checado, eu então - no else do meu código - aplico os atributos css originais da pagina e tiro o disabled do segundo check #origin_2
       
      A pergunta:
      Essa pagina, amanha ou depois, poderei ter 4~5~6 checkbox que precisarão passar por esse fluxo de alterações.
      Hoje como tenho apenas 2 checkbox, isso é moleza mas imagine eu ter que repetir todo esse código para cada um dos checkbox, ou seja, terei quase 100 linhas de código para a alteração de aplicação de efeito css em 4 ou 5 itens apenas e logo isso é completamente insustentável.
       
      O que eu gostaria:
      Sugestões de como reduzir esse código baseado nesse fluxo que comentei.
       
      Abraço
    • Por FabianoSouza
      To tentando usar a proriedade "checked" do botão de radio para estilizar o elemento pai, uma TD e TR, no caso.
      Isso não funciona...to indo na base de tentatica e erro heheh
      Um help por favore
      tr td input[type="radio"]:checked { background-color:#0F0; }  
    • Por angelweapon
      Olá, tenho um trabalho pra fazer com checkbox nele tem uma página em php com uma div primária e dentro dela outras 3 divs, 1 div para cada fruta com suas respectivas imagens  e dentro de cada 1 checkbox para "laranja", 1 checkbox para "maçã, 1 checkbox para "uva"" respectivamente... o que eu preciso é ao marcar laranja posteriormente não ser possível a marcação das outras opções maçã nem uva... ou seja somente a laranja pois já esta marcada... e ao dar um Input enviar esta laranja para próxima página.... no banco eu tenho uma tabela de nome "produtos" com as colunas idabastecimento "chave primaria", coluna laranja, coluna maça, coluna uva...
      to me f****** e nem tenho certeza se esta é a ordem correta.... se não fizer isto vou tirar zero e to fudido.... vou virar mendigo e juntar papelão =(