Ir para conteúdo
Fórum Script Brasil
  • 0

Validação com formulários dinâmicos


pedroddcunha

Pergunta

Olá, 

Tem pouco tempo que estou mexendo em Php para otimizar algumas tarefas onde trabalho.

Recentemente consegui fazer com que novos formulários sejam abertos através de um botão para o usuário digitar outros valores.

Porém, não consigo fazer com que exista a validação destes valores:

A parte de validação é a seguinte:

function validaCampo()
{
if(document.cadastro.obra.value == "" || document.cadastro.obra.value.indexOf('/')== -1 ){
	alert('Preencha com o código da obra corretamente!');
	document.cadastro.obra.focus();
	return false;
	}
else
	if(document.cadastro.qtde_est.value=="" || document.cadastro.qtde_est.value == 0){
	alert("Preencha com a quantidade de estacas! A quantidade não pode ser zero!");
	document.cadastro.qtde_est.focus();
	return false;
	}
else
	if(document.cadastro.valor_global.value==""){
	alert("Deve ser inserido o valor total do orçamento!");
	document.cadastro.valor_global.focus();
	return false;
	}
else
	if(document.cadastro.secao.value==""){
	alert("Devem ser inseridas as seçoes da obra!");
	return false;
	}
return true;
}

A parte que adiciona o novo formulário é a seguinte:

$(function () {
  function removeCampo() {
	$(".removerCampo").unbind("click");
	$(".removerCampo").bind("click", function () {
	   if($("tr.linhas").length > 1){
		$(this).parent().parent().remove();
	   }
	});
  }
 
  $(".adicionarCampo").click(function () {
	novoCampo = $("tr.linhas:first").clone();
	novoCampo.find("input:text").val("");
	novoCampo.insertAfter("tr.linhas:last");
	removeCampo();
  });
});

E a parte do formulário é a seguinte:

<form id="cadastro" name="cadastro" method="post" action="3.1. inserir valores - global.php" onsubmit="return validaCampo(); return false;">
	<table width="625" border="0">
    <tr>
      <td width="40">Obra:</td>
      <td><input name="obra" type="text" id="obra" size="15" maxlength="15" placeholder="1234/2017"/>
        <span class="style1">*</span> <span>Cadastrar o c&oacute;digo da obra</span></td>
    </tr>
	<tr>
		<td width="40">Qtde de estacas:</td>
		<td><input name="qtde_est" type="text" id="qtde_est" size="15" maxlength="15" /></td>
	</tr>
	<tr>
	    <td width="40">Valor global (R$):</td>
	    <td><input name="valor_global" type="text" id="valor_global" size="15" maxlength="15" /></td>
	</tr>
	<tr>
		<td width="40">Se&ccedil;ões:</td>
		<tr class="linhas"> 
			<td><input type="text" name="secao[]" id="secao" maxlength="15" /></td>
			<td><a href="#" class="removerCampo" title="Remover linha"><input type="button" value="X"/></a></td>
		</tr>
		<tr>
		<td colspan="4">
			<a href="#" class="adicionarCampo" title="Adicionar item"><input type="button" value="+"/></a></td>
			<td width="10" align='center'></td>
		</tr>
	</tr>
	<tr>
		<td colspan="2"><p>
			<input name="cadastrar" type="submit" style="font-size:15pt;background-color:lightgreen" id="cadastrar" value="Cadastrar" /> 
			<br /><br />
			<input name="limpar" type="reset" style="font-size:15pt;background-color:lightgreen" id="limpar" value="Limpar campos" />
			<br /><br />
				<span class="style1">* Campos com * s&atilde;o obrigat&oacute;rios!          </span></p>
				<p>&nbsp; </p></td>
	</tr>
	</table>
</form>

Já fiquei horas e horas pesquisando na Internet, mas ainda não consegui resolver o problema.

O problema é na validação no campo "secao". Atualmente, o código funciona somente para 1 formulário aberto e preenchido.

Se houverem mais de 1 formulários o código pede pra inserir um valor no respectivo formulário (mesmo já tendo algum valor).

 

Desde já, obrigado.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...