Ir para conteúdo

POWERED BY:

Arquivado

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

Martinsrj

[Resolvido] Erro em adicionar valores em array vindo do form

Recommended Posts

Olá pessoal, boa tarde!

Possuo o seguinte código abaixo:

Obs.: não consegui inserir a tag code.

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
<form method="post" action="">
Primeiro Nome:  <input type="text" id="pnome" name="pnome" /><br />
Segundo Nome: <input type="text" id="snome" name="snome" /><br />
Terceiro Nome:  <input type="text" id="tnome" name="tnome" /><br /><br />
<input type="submit" value="Enviar" id="btnEnviar" name="btnEnviar" />
</form>

<%
Dim dados(), dados1 

For Each dados1 in Request.Form
    Response.Write dados1 & " = " & Request.Form(dados1)
    Response.Write ("<br>")
    dados() = Request.Form(dados1)
Next

for i = LBound(dados) to UBound (dados) 
response.write i & ") " & dados(i) & "<br>" 
next 


%>
</body>
</html>
Não estou conseguindo inserir os dados digitados no form em um array.

Aparece o seguinte erro:

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A0009)

Subscrito fora do intervalo

/apredendo/procedure.asp, line 19

Obs.: a linha 19 é essa: dados() = Request.Form(dados1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tira o () da frente da variavel...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Xanburzum!

 

Deixei da seguinte forma:

<%

Dim dados, dados1

 

For Each dados1 in Request.Form

Response.Write dados1 & " = " & Request.Form(dados1)

Response.Write ("<br>")

dados() = Request.Form(dados1)

Next

 

for i = LBound(dados) to UBound (dados)

response.write i & ") " & dados(i) & "<br>"

next

 

 

%>

Irei dar uma explicação da intenção que eu quero fazer com o codigo. No For Each quero simplesmente imprimir na tela o que o usuario digitou nos inputs e no For onde existe o lbound e ubound é para percorrer o vetor com os dados que o usuario digitou.

 

Xanburzum, retirei conforme o que você mencionou no post, mas da o seguinte erro:

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis

/apredendo/procedure.asp, line 19

 

 

 

tira o () da frente da variavel...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

Dim dados(), I 
I = 0 
For Each dados1 In Request.Form 
    dados(I) = Valor 
    I = I + 1 
Response.Write dados1 & " = " & Request.Form(dados1)
Response.Write ("<br>")
Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realizei algumas mudanças no código para uma melhor visualização.

Incrementei o que você mencionou, porem continua dando erro.

Código abaixo:

<%

Dim vetDados(), I, dados

I = 0

For Each dados in Request.Form

Response.Write dados & " = " & Request.Form(dados)

Response.Write ("<br>")

vetDados(I) = Request.Form(dados)

I = I + 1

Next

 

'for i = LBound(dados) to UBound (dados)

'response.write i & ") " & dados(i) & "<br>"

'next

 

 

%>

Erro:

HTTP 500.100 - Servidor interno Erro - erro do ASP

Internet Information Services

 

--------------------------------------------------------------------------------

 

Informações técnicas (para a equipe de suporte)

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A0009)

Subscrito fora do intervalo

/apredendo/procedure.asp, line 19

 

 

Tipo de navegador:

Compartilhar este post


Link para o post
Compartilhar em outros sites

atraves desse code, você consegue recuperar todos os dados do form , k o user digitou...

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
<form method="post" action="">
Primeiro Nome:  <input type="text" id="pnome" name="pnome" /><br />
Segundo Nome: <input type="text" id="snome" name="snome" /><br />
Terceiro Nome:  <input type="text" id="tnome" name="tnome" /><br /><br />
<input type="submit" value="Enviar" id="btnEnviar" name="btnEnviar" />
</form>
<%

Dim vetDados(), I, dados
I = 0
For Each dados in Request.Form
Response.Write dados & " = " & Request.Form(dados)
Response.Write ("<br>")
'vetDados(I) = Request.Form(dados)
I = I + 1
Next

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso eu sei. Consigo imprimir em tela tudo o que o usuario digitou.

A minha intenção é armazenar em um array os dados que o usuario digitou.

Entendeu?

 

atraves desse code, você consegue recuperar todos os dados do form , k o user digitou...

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
<form method="post" action="">
Primeiro Nome:  <input type="text" id="pnome" name="pnome" /><br />
Segundo Nome: <input type="text" id="snome" name="snome" /><br />
Terceiro Nome:  <input type="text" id="tnome" name="tnome" /><br /><br />
<input type="submit" value="Enviar" id="btnEnviar" name="btnEnviar" />
</form>
<%

Dim vetDados(), I, dados
I = 0
For Each dados in Request.Form
Response.Write dados & " = " & Request.Form(dados)
Response.Write ("<br>")
'vetDados(I) = Request.Form(dados)
I = I + 1
Next

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá umapesquisada no lab. de scripts k existem exemplos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Xanburzum!

Consegui resolver o problema. Tive que o utilizar o Redim.

Veja o codigo abaixo:

<%
Dim vetDados(), I, dados
I = 0
For Each dados in Request.Form
    Response.Write dados & " = " & Request.Form(dados)
    
    Redim preserve vetDados(I)
    vetDados(I) = Request.Form(dados)
    I = I + 1
    
    Response.Write ("<br>")
    
Next
Response.Write UBound (vetDados)
'for i = LBound(dados) to UBound (dados) 
'response.write i & ") " & dados(i) & "<br>" 
'next 


%>

Abraços.

 

 

dá umapesquisada no lab. de scripts k existem exemplos...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza...

kker coisa posta ae...

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.