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

Capturar dados de imputs e gerar string de inserção AJAX


Tiago J S Barbosa

Pergunta

Galera,

Gostaria de pegar uma lista de campos passada via function e gerar uma string, assim:

No HTML tenho 3 imputs e 1 botão:

<input id="titulo" type="text" value="Meu T&iacute;tulo"/>

<input id="texto" type="text" value="Meu Texto"/>

<input id="professor" type="text" value="Meu Professor"/>

<input id="Submit" type="submit" value="enviar mensagem" onclick="java script:gravadados('grava.asp','artigos','titulo,texto,professor');" />

No javaScript

function pegadados(pagina,tabela,campos){

Gostaria de pegar esses dados e gerar um script assim:

funcaoqueenviaosdados(pagina+"?"+"titulo="+document.getElementById('titulo').value+"&texto="+document.getElementById('titulo').value+"&professor="+document.getElementById('professor').value);

Vou explicar...

Tenho um HTML com 3 campos de textos que são:

Titulo, Texto, Professor.

Tenho um botão que chama a seguinte função no evento onclick:

java script:pegadados('grava.asp','artigos','titulo,texto,professor');

Onde,

grava.asp = arquivo que receberá as variaveis e gravará no banco

artigos = tabela onde os dados serão gravados

titulo,texto,professor = nomes dos campos no banco e dos imputes que estão no html

A função pegadados está assim:

function pegadados(pagina, tabela, campos){

}

Preciso que ela me retorne isso:

grava.asp?titulo=ValorDoCampoTitulo&texto=ValorDoCampoTexto&professor=ValorDoCampoProfessor&tabela=artigos

Eu já consegui escrever para me retornar assim:

grava.asp?titulo=document.getElementById(titulo).value&texto=document.getElementById(texto).value&professor=document.getElementById(professor).value&tabela=artigos

Mas isso que você está vendo é um DOCUMENT.WRITE, se eu conseguir isso em forma de script BINGO!

Não sei se você percebeu, mas estou tentando criar uma função para inserir dados no banco usando AJAX e um ÚNICO ARQUIVO ASP que receberá os seguintes dados:

Qual a tebela onde o Sr. deseja gravar os dados?

Quais os campos e seus respectivos valores?

Com uma função dessas você só precisaria de 1 arquivo para todos os inserts de um sistema CMS por exemplo. Esse arquivo asp eu já tenho pronto, programo em ASP Classic, mas JavaScript entendo pouco, tenho apenas teorias.

LINK DO TESTE >>> http://www.csjose.co...acao/teste.html

meu MSN/e-mail é tiagobarbosa@live.com

Alguma Luz??????

PS. Os campos no banco têm exatamente os mesmos nomes dos inputs.

Grande abraço!

Editado por Tiago J S Barbosa
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Bom dia.

Vê se isto ajuda, fiz simples pra ser entendido.

<html>

<head>

<title></title>

<script>

function gravadados()

{

var sUrl = 'gravadados.asp';

var oElementos = document.getElementsByTagName( 'input' );

var iElementos = oElementos.length;

var sParametros = '?';

for( var i = 0; i < iElementos; i++ )

{

if( oElementos[ i ].type == 'text' )

{

sParametros += oElementos[ i ].id + '=' + oElementos[ i ].value + '&';

}

}

sParametros = sParametros.substr( 0, sParametros.length - 1 );

alert(sUrl + sParametros)

}

</script>

</head>

<body>

<input id="titulo" type="text" value="Meu T&iacute;tulo"/>

<input id="texto" type="text" value="Meu Texto"/>

<input id="professor" type="text" value="Meu Professor"/>

<input id="Submit" type="submit" value="enviar mensagem" onclick="java script:gravadados();" />

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Man,

Vou lhe dizer o mesmo que Obama disse a Lula: YOU ARE THE GUY!

Era isso mesmo que eu tava tentando fazer! Funcionou direitinho aqui, só não tá pegando dados de outros tipos de campos, como: select, radio...

Eu percbi que ela varre a página em busca dos inputs, no casso se eu tiver dentro dessa página um campo do login e senha no topo da página ou um campo de busca ele jogaria na minha string também. Por isso que eu queria especificar os campos ao chamar a função através do botão.

Mas de qualquer modo... Tá De F...der!!!

Valeu mesmo!

Bom dia.

Vê se isto ajuda, fiz simples pra ser entendido.

<html>

<head>

<title></title>

&lt;script>

function gravadados()

{

var sUrl = 'gravadados.asp';

var oElementos = document.getElementsByTagName( 'input' );

var iElementos = oElementos.length;

var sParametros = '?';

for( var i = 0; i < iElementos; i++ )

{

if( oElementos[ i ].type == 'text' )

{

sParametros += oElementos[ i ].id + '=' + oElementos[ i ].value + '&';

}

}

sParametros = sParametros.substr( 0, sParametros.length - 1 );

alert(sUrl + sParametros)

}

</script>

</head>

<body>

<input id="titulo" type="text" value="Meu T&iacute;tulo"/>

<input id="texto" type="text" value="Meu Texto"/>

<input id="professor" type="text" value="Meu Professor"/>

<input id="Submit" type="submit" value="enviar mensagem" onclick="java script:gravadados();" />

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Dei uma mudada na função para ela receber os parâmetros [página] e [tabela], preciso fazer com que ela aceite campos select, check e rádio.

<html>

<head>

<title></title>

<script>

function gravadados(pagina,tabela)

{

var sUrl = pagina;

var sTabela = tabela;

var oElementos = document.getElementsByTagName( 'input' );

var iElementos = oElementos.length;

var sParametros = '?';

for( var i = 0; i < iElementos; i++ ){

if( oElementos[ i ].type == 'text' ){

campot2 = oElementos[ i ].id + '=' + oElementos[ i ].checked + '&';

sParametros += oElementos[ i ].id + '=' + oElementos[ i ].value + '&';

}

}

sParametros = sParametros.substr( 0, sParametros.length - 1 );

alert(sUrl + sParametros + "&tabela=" +tabela);

}

</script>

</head>

<body>

<input id="titulo" type="text" value="Meu T&iacute;tulo"/>

<input id="texto" type="text" value="Meu Texto"/>

<input id="professor" type="text" value="Meu Professor"/>

<input id="Submit" type="submit" value="enviar mensagem" onClick="java script:gravadados('gravadados.asp','artigos');" />

</body>

</html>

Precisando estamos aqui pra ajudar

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      652k
×
×
  • Criar Novo...