Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados estou fazendo uma aplicação que vou precisar repetir alguns campos do meu formulário. Para isto estou usando a funcao JQuery CLONE(); Até ai tudo resolvido. porem ha um campo no meu formulário que é um radio button nos campos do form eu estou usando no nome="nomedocampo[]" para conseguir recuperar o post de cada item.
como devo proceder no caso do radio. pq se eu repito o bloco ele vai manter o name do radio e vai colocar como sendo uma opção e nao um array deste campo.
>
Radios não são arrays, pq você só pode selecionar um.
Retire o [] do nome...
Olá Henrique segue código para avaliação e entender o que quero
<?php echo var_dump($_POST);?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {margin: 20px; padding: 0; font-family: Verdana; font-size: 11px;}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
/* Função jQuery para remover linha */
$.removeLinha = function (element)
{
/* Conta quantidade de linhas na tabela */
var linha_total = $('tbody#repetir tr').length;
/* Condição que mantém pelo menos uma linha na tabela */
if (linha_total > 1)
{
/* Remove os elementos da linha onde está o botão clicado */
$(element).parent().parent().remove();
}
/* Avisa usuário de que não pode remover a última linha */
else
{
alert("Desculpe, mas você não pode remover esta última linha!");
}
};
/* Quando o documento estiver carregado… */
$(document).ready(function()
{
/* Variável que armazena limite de linhas (zero é ilimitada) */
var limite_linhas = 5;
/* Quando o botão adicionar for clicado... */
$('#add').click(function()
{
/* Conta quantidade de linhas na tabela */
var linha_total = $('tbody#repetir tr').length;
/* Condição que verifica se existe limite de linhas e, se existir, testa se usuário atingiu limite */
if (limite_linhas && limite_linhas > linha_total)
{
/* Pega uma linha existente */
var linha = $('tbody#repetir tr').html();
/* Conta quantidade de linhas na tabela */
var linha_total = $('tbody#repetir tr').length;
/* Pega a ID da linha atual */
var linha_id = $('tbody#repetir tr').attr('id');
/* Acrescenta uma nova linha, incluindo a nova ID da linha */
$('tbody#repetir').append('<tr id="linha_' + (linha_total + 1) + '">' + linha + '</tr>');
}
/* Se usuário atingiu limite de linhas… */
else
{
alert("Desculpe, mas você só pode adicionar até " + limite_linhas + " linhas!");
}
});
});
</script>
</head>
<body>
<h1>Duplicando linhas de tabelas com jQuery</h1>
<form action="cadastroMultiplo" method="post">
<table cellpadding="4" cellspacing="0" border="1">
<thead>
<tr>
<td>campo 1</td>
<td>campo 2</td>
<td>campo 2</td>
<td>Tipo Animal</td>
<td> </td>
</tr>
</thead>
<tbody id="repetir">
<tr id="linha_1">
<td><input type="text" name="dia[]" value="" /></td>
<td><input type="text" name="hora[]" value="" /></td>
<td><input type="text" name="resultado[]" value="" /></td>
<td>
<input name="principal[]" type="radio" checked="checked" id="tipoAnimal[]" value="cao" />cao
<input name="principal[]" type="radio" checked="checked" id="tipoAnimal[]" value="gato" />gato
</td>
<td><input type="button" value="Remover" id="remove" onclick="$.removeLinha(this);" /></td>
</tr>
</tbody>
<tfoot>
<tr>
<td align="right" colspan="5"><input type="button" value="Adicionar" id="add" /><input type="submit" value="Enviar" /></td>
</tr>
</tfoot>
</table>
</form>
</body>
</html>
A minha dificuldade está em identificar a opção de alguma forma, por exemplo na linha 1 será cao, na linha 2 será gato, na linha 3 será cao e ai vai...
Radios não são arrays, pq você só pode selecionar um.
Retire o [] do nome...