Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelguedes

com concatenação de variáveis

Recommended Posts

Olá amigos, não entendo muito de JavaScript por isso recorri a vossa ajuda.

 

É o seguinte: Possuo um formulário em uma página que possui as seguintes caixas de texto: Data, ProjetoID,Inicio,Fim,Descrição e Duracao. Pois bem esses campos se repetem em 8 linhas a começar da linha 0 no seguinte esquema:

Data_0 ProjetoID_0 Inicio_0 Fim_0 Descricao_0 Duracao_0

.

.

.

Data_7 ProjetoID_7 Inicio_7 Fim_7 Descricao_7 Duracao_7

 

Pois bem, gostaria de validar este campo de uma forma que, o campo só sofrerá crítica, se pelo menos um de seus campos forem preenchidos, quero dizer: apartir do momento em que você preenche a data por exemplo, você é obrigado a preencher os demais, isso apenas na linha em em questão.

 

Usando o evento onSubmit do meu form especificaria "return validar(obj,7)"

 

Fiz um esborço da função mas não funcionou:

 

function validar(obj,n){	var i;	var Data;	var ProjID;	var Inicio;	var Fim;	var Desc;	var Dura;	for(i=0;i<n+1;i++)	{  Data = obj.data_+ i +.value;  ProjID = obj.projetoID_+ i +.value;  Inicio = obj.inicio_+ i +.value;  Fim = obj.fim_+ i +.value;  Desc = obj.descricao_+ i +.value;  Dura = obj.duracao_+ i +.value;  if( (Data!="")||(ProjID!="")||(Inicio!="")||(Fim!="")||(Desc!="")||(Dura!="") )  { 	 if(Data == ""){    alert("Selecione uma Data");    return false; 	 } 	 if(ProjID == ""){    alert("Selecione um Projeto");    return false; 	 } 	 if(Inicio == ""){    alert("Entre com a hora de inicio");    return false; 	 } 	 if(Fim == ""){    alert("Entre com a hora final");    return false; 	 } 	 if(Desc == ""){    alert("Entre com a descrição da atividade");    return false; 	 } 	 if(Dura == ""){    alert("Calculo da Duração");    return false; 	 }  }	}	return true;}

Gostaria de saber se essa forma de implementação procede, senão gostaria que me mostrassem como proceder e se possível me informassem caso encontrem erro de sintaxe (como falei, não manjo nada de JavaScript). Bom, fico aguardando resposta e a atenção por ter lido este tópico. Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Data = obj.data_+ i +.value; ProjID = obj.projetoID_+ i +.value; Inicio = obj.inicio_+ i +.value; Fim = obj.fim_+ i +.value; Desc = obj.descricao_+ i +.value; Dura = obj.duracao_+ i +.value;

 

use a função eval() para se referir aos objetos

 

Ex:

Data = eval('obj+data_'+i).value;ProjID = eval('obj.projetoID_'+ i).value;

 

Note que criamos o objeto com o eval e colocamos a propriedade fora dele

eval().propriedade

 

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.