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 uma inscrição de empresas e funcionários para cursos, eventos etc e estou com um probleminha, no formulário com a info da empresa eu tenho um input do tipo text que passa a quantidade de pessoas que serão inscritas no evento escolhido, porém, quando a pessoa clicar em avançar, os dados da empresa são postados e abrem os forms dos participantes, a cada participante inscrito, o formulário seguinte deverá ser ativado até a quantidade final de participantes.
Por exemplo, se tenho 3 pessoas, assim que postados os dados da empresa, aparece o primeiro form com os dados da pessoa (pra preencher), clicando em avançar, posta os dados desse primeiro e habilita um segundo form, faz o mesmo processo e habilita o terceiro, no terceiro, a action dele muda pra uma tela q confirma todos os dados digitados juntos.
Alguma sugestão pra isso?!?
Segue o código que montei inicialmente ... (lembrando que não sou nenhum expert em ASP, estou aprendendo ainda =/)
<!--#include file="inc/header.asp"-->
<%
tipo = request.querystring("tipo")
if tipo = "curso" then
id = request.querystring("id")
sqlCursos = "SELECT * FROM LI_Cursos WHERE CursoID ="& id
set rs_cursos = conexao.execute(sqlCursos)
titulo = "Curso: "& rs_cursos("CursoTitulo")
datainicial = day(rs_cursos("CursoDataInicial"))&"/"&month(rs_cursos("CursoDataInicial"))&"/"&year(rs_cursos("CursoDataInicial"))
datafinal = day(rs_cursos("CursoDataFinal"))&"/"&month(rs_cursos("CursoDataFinal"))&"/"&year(rs_cursos("CursoDataFinal"))
local = rs_cursos("CursoLocal")
duracao = rs_cursos("CursoDuracao")
valor = rs_cursos("CursoValor")
situacao = rs_cursos("CursoSituacao")
end if
if tipo = "evento" then
id = request.querystring("id")
sqlEventos = "SELECT * FROM LI_Eventos WHERE EventoID ="& id
set rs_eventos = conexao.execute(sqlEventos)
titulo = "Evento: "& rs_eventos("EventoTitulo")
datainicial = day(rs_eventos("EventoDataInicial"))&"/"&month(rs_eventos("EventoDataInicial"))&"/"&year(rs_eventos("EventoDataInicial"))
datafinal = day(rs_eventos("EventoDataFinal"))&"/"&month(rs_eventos("EventoDataFinal"))&"/"&year(rs_eventos("EventoDataFinal"))
local = rs_eventos("EventoLocal")
duracao = rs_eventos("EventoDuracao")
valor = rs_eventos("EventoValor")
situacao = rs_eventos("EventoSituacao")
end if
if tipo = "forum" then
id = request.querystring("id")
sqlForuns = "SELECT * FROM LI_Foruns WHERE ForumID ="& id
set rs_foruns = conexao.execute(sqlForuns)
titulo = "Fórum: "& rs_foruns("ForumTitulo")
datainicial = day(rs_foruns("ForumDataInicial"))&"/"&month(rs_foruns("ForumDataInicial"))&"/"&year(rs_foruns("ForumDataInicial"))
datafinal = day(rs_foruns("ForumDataFinal"))&"/"&month(rs_foruns("ForumDataFinal"))&"/"&year(rs_foruns("ForumDataFinal"))
local = rs_foruns("ForumLocal")
duracao = rs_foruns("ForumDuracao")
valor = rs_foruns("ForumValor")
situacao = rs_foruns("ForumSituacao")
end if
empresa = request.form("empresa")
setor_participante = request.form("setor_participante2")
nome_do_contrato = request.form("nome_do_contrato")
telefone_contrato = request.form("ddd_contrato") & request.form("telefone_contrato")
ramal_contrato = request.form("ramal_contrato")
departamento_contrato = request.form("departamento_contrato")
endereco_contrato = request.form("endereco_contrato")
cidade_contrato = request.form("cidade_contrato")
estado_contrato = request.form("estado_contrato")
cep_contrato = request.form("cep_contrato")
unidade = request.form("unidade")
razao_social = request.form("razao_social")
cnpj = request.form("cnpj")
ie = request.form("ie")
endereco_faturamento = request.form("endereco_faturamento")
cidade_faturamento = request.form("cidade_faturamento")
estado_faturamento = request.form("estado_faturamento")
cep_faturamento = request.form("cep_faturamento")
participantes = request.form("participantes")
%>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td class="noPadding"><img src="img/gif/tit_agenda_2007.gif" alt="Agenda 2007" width="134" height="31" /></td>
</tr>
<tr>
<td valign="top"><form id="form_cadastro" name="form_cadastro" method="post" action="cadastro_step_3.asp">
<h2><%=titulo%></h2>
<p><img src="img/gif/bullet.gif" alt="." width="13" height="13" hspace="5" align="left" /><strong>Dados da Empresa:</strong></p>
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="100">Empresa:</td>
<td><%=empresa%></td>
</tr>
<tr>
<td width="100">Setor:</td>
<td><%=setor_participante%></td>
</tr>
</table>
<p><strong><img src="img/gif/bullet.gif" alt="." width="13" height="13" hspace="5" align="left" />A Nota Fiscal deverá ser enviada para:</strong></p>
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="100">Nome do Contrato:</td>
<td><%=nome_do_contrato%></td>
</tr>
<tr>
<td>Telefone:</td>
<td><%=telefone_contrato%></td>
</tr>
<tr>
<td>Ramal:</td>
<td><%=ramal_contrato%></td>
</tr>
<tr>
<td>Departamento:</td>
<td><%=departamento_contrato%></td>
</tr>
<tr>
<td>Endereço:</td>
<td><%=endereco_contrato%></td>
</tr>
<tr>
<td>Cidade:</td>
<td><%=cidade_contrato%></td>
</tr>
<tr>
<td>Estado:</td>
<td><%=estado_contrato%></td>
</tr>
<tr>
<td>CEP:</td>
<td><%=cep_contrato%></td>
</tr>
</table>
<p><strong><img src="img/gif/bullet.gif" alt="." width="13" height="13" hspace="5" align="left" />Dados para Faturamento:</strong></p>
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="100">Unidade:</td>
<td><%=unidade%></td>
</tr>
<tr>
<td width="100">Razão Social:</td>
<td><%=razao_social%></td>
</tr>
<tr>
<td width="100">CNPJ:</td>
<td><%=cnpj%></td>
</tr>
<tr>
<td width="100">IE:</td>
<td><%=ie%></td>
</tr>
<tr>
<td>Endereço:</td>
<td><%=endereco_faturamento%></td>
</tr>
<tr>
<td>Cidade:</td>
<td><%=cidade_faturamento%></td>
</tr>
<tr>
<td>Estado:</td>
<td><%=estado_faturamento%></td>
</tr>
<tr>
<td>CEP:</td>
<td><%=cep_faturamento%></td>
</tr>
<tr>
<td>Número de Participantes:</td>
<td valign="top"><%=participantes%></td>
</tr>
<tr>
<td colspan="2" align="right">
<%
i = 1
for i = i to participantes
if request.querystring("participante") < participantes then
action = "cadastro_step_2_participantes.asp?participante="&i
else
action = "cadastro_step_2_participantes_confirmacao.asp"
end if
%>
<hr />
<form name="form_participante" id="form_participante" action="<%=action%>" method="post" />
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="100">Nome:</td>
<td><input name="nome" type="text" class="inputCadastro" id="nome" tabindex="1" /></td>
</tr>
<tr>
<td width="100">Sobrenome:</td>
<td><input name="sobrenome" type="text" class="inputCadastro" id="sobrenome" tabindex="2" /></td>
</tr>
<tr>
<td width="100">Nome no Crachá:</td>
<td><input name="nome_cracha" type="text" class="inputCadastro" id="nome_cracha" tabindex="3" /></td>
</tr>
<tr>
<td width="100">Sexo:</td>
<td><input name="sexo" type="radio" id="sexo" value="masculino" checked="checked" />
Masculino
<input type="radio" name="sexo" id="sexo2" value="feminino" />
Feminino</td>
</tr>
<tr>
<td>RG:</td>
<td><input name="rg" type="text" class="inputCadastro" id="rg" maxlength="12" tabindex="4" /></td>
</tr>
<tr>
<td>Cargo:</td>
<td><input name="cargo" type="text" class="inputCadastro" id="cargo" tabindex="6" /></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="email" type="text" class="inputCadastro" id="email" tabindex="9" /></td>
</tr>
<tr>
<td colspan="3"><input name="avancar" type="image" class="alignRight" id="avancar" src="img/gif/btn_avancar.gif" alt="Avançar" /></td>
</tr>
</table>
</form>
<% next %>
</td>
</tr>
<tr>
<td colspan="2"><input name="avancar2" type="image" class="alignRight" id="avancar2" src="img/gif/btn_avancar.gif" alt="Avançar" /></td>
</tr>
</table>
</form></td>
</tr>
</table>valeu
esqueci, estou usando asp com sql 2000
xi cara, meio doido isso ai, mas já tentou guardar em uma sessão o valor e só avançar pro proximo se a sessão for 1 a mais que o valor da quantidade do post? Assim a cada post você incrementa a sessão pra ela receber o valor atual da quantiodade cadastrada
eu sei que parece meio lunático, mais eu já vi isso funcionando em algum site, num me lembro qual foi (ajuda muito né?=/) ... na primeira tentativa, passei por session os dados preenchidos, mais o problema é que meu cliente quer que fique todos os formulários numa mesma tela, o primeiro ativo e o restante inativo, conforme vai preenchendo vai postando os dados e ativa o seguinte ...
nem sei mais o que fazer ... tô ficando com cabelo branco já!! uhauahuahau
me ajudem por favor!! não sei mais o que fazer pra resolver isso!
cara pode parecer meio louco... mas pode te ajudar...
a idéia seria você usar um banco de dados simples de manobra, daí para cada passo você iria incluindo as informações...
no momento que ele recupera as informações deste banco de manobra e confirma sua inscrição, os dados são incluidos no banco "MASTER" e o banco de manobra é zerado...
sei que não é uma solução de alto nível como a do jonathandj... mas pode te ajudar...
tem que levar em consideração que o processo pode ficar um pouco lento por conta deste "gatilho"
abrç
valeu galera, mais convenci meu cliente a não fazer essa doidera, consegui fazer ele preencher um form de cada vez ...
mesmo assim, obrigado a quem tentou imaginar essa gambi rodando =)
xi cara, meio doido isso ai, mas já tentou guardar em uma sessão o valor e só avançar pro proximo se a sessão for 1 a mais que o valor da quantidade do post? Assim a cada post você incrementa a sessão pra ela receber o valor atual da quantiodade cadastrada