Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal...
Estou montando um formulario onde possui uma tabela com campos do tipo Texto que monto dinamicamente conforme configuracoes do cliente selecionado.
EX:
Cliente Xpto
Tarifas
Limpeza - R$
Lavacao - R$
Escovacao - R$
Impermeabilizacao - R$
Como poderia fazer para checar se todos os campos de valores foram preenchidos e como podeira fazer para gravar o respectivo valor de cada tarifa....
Estou com muita dificuldade em fazer isto. Agradeceria muito a ajuda dos colegas....
Obrigado.
beleza, mas no seu exemplo os nomes dos campos estao fixos. No meu caso, cada campo terah um nome especifico
EX:<input name="text_<% =RecordSet("codigo") %>>"
Pois dependendo de cada "cliente", o mesmo podera possui n tarifas.....
Troque o <input name="text_<% =RecordSet("codigo") %>"> por um contador:
<input name="text_<%=cont%>"> ficando no form depois de processado da seguinte maneira:
<input name="text_1">
<input name="text_2">
<input name="text_3">
Entao no JavaScript você faz um for pegando os valores do seus text_... e vendo se eles estão em branco. Pra verificar, você pega a ultima posição do nome do seu text_ pois será um numero. No for o i vai ser incrementado a cada volta, daí é so concatenar e ver.
Armazene num hidden o valor da quantidade de registros, pra você usar no for.
No insert a mema coisa, faz um for e no request use: request("text_"&i).
Att;
Você pode criar os campos de forma dinâmica via ASP e controlá-los via JS com um código como esse...
ASP
<%
...
Do Until rs.EoF%>
<input type="text" name="<%=rs("codigo")%>">
rs.moveNextJS
...
var txt = document.getElementsByTagName('input')
for(var i=0; i<txt.length; i++){
if(txt[i].value == ''){
alert('O campo ' + txt[i].name + ' é de preenchimento obrigatório');
return;
}
}ASP
If Request.Form("SID") <> Session.SessionID Then Response.End
For each Field in Request.Form
Response.Write Request.Form(Field) & "<br>"
Next
Por uma questão de segurança, é interessante acrescentar sempre um campo com a SessionID do cliente, nesse caso, o SID, pra evitar o submit offline por parte de espertinhos.
Espero ter ajudado.
[]'z
Obrigado pela forca William, este seu exemplo ira me auxiliar um monte........
Opa, legal! Qualquer coisa, estamos aê.
Boa sorte!
[]'z
William....
Com base em seu exemplo consegui realizar uma serie de alteracoes e funcionou, mas estou com um problema na parte do Loop do ASP, onde pego os valores dos Campos, pois tenho que descartar alguns campos de controle que estao tambem caindo nesta validacao.
Estes campos de controle estao com a sua propriedade type="hidden"
Ja tentei fazer da seguinte forma
ASP
For each Field in Request.Form if (Request.Form("op") OR Request.Form("ADD")) then
else
sql = ""
end if
Next
Voce poderia me ajudar, nesta duvida???
Agradeco novamente a ajuda do amigo.....
Dentro do if, use a seguinte sintaxe:
ASP
If (Request.Form(Field) = "op" Or Request.Form(Field) = "ADD") Then
.
.
.
End If
Boa sorte!
[]'z
Valeu, era isto mesmo...
Obrigado
Bem... você pode verificar se todos os campos foram preenchidos na hora de clicar no botão gravar/alterar.
você chama uma função javascript que vai ver se o campo está em branco.
você faz isso com todos os campos do seu form. Aqueles que estiverem em branco serão alertados.Passando pelas validações, você dá o submit na pagina, e usa o request("nomeCampo") para recuperar a informação enviada e gravar no banco.