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

Checkbox Que Envia Um Xmlhttprequest


Rapapel

Pergunta

Estou fazendo um gerenciador de conteúdo, para um site.

O publisher pode ver uma lista de noticias, e quero que ele consiga modificar a o tipo de noticia(rascunho, ou não rascunho) por um checkbox.

Quero que seja dinâmico que quando ele clicar no checkbox, um javascript envie um Xmlhttprequest para um servlet acessa meu objeto de perssistência e modifique minha base de dados, mudando a noticia que era rascunho para não rascunho, ou vice-versa.

Com JSF consigo fazer isso facilmente, mas nesse projeto não estamos usando JSF.

Dei um google e não achei nada que possa me ajudar.

alguém pode dar um ajuda.

Obrigado a todos.

T+

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
tem sim.

tu já usou ajax alguma vez?

é só fazer uma chamada no evento onclick do check para o metodo ajax,

envia um parametro informando se o check esta marcado ou desmarcado.

e no seu servlet você trata do jeito que achar melhor para atualizar a base.

at,

Já usei soluções prontas, ex: Ajaxtags.

Cheguei a modificar alguns javascripts da biblioteca ajaxtags, mas nada de avançado.

Não sei é como fazer.

Como eu faço esse método em ajax? você ou alguém tem algum exemplo?

Valeu pela força.

Editado por Rapapel
Link para o comentário
Compartilhar em outros sites

  • 0

então,

veja esse tópico, ele usou um exemplo bem simples de ajax:

http://scriptbrasil.com.br/forum/index.php?showtopic=105746

retire a parte js em que ele faz verificacoes de user e senha e deixe apenas a parte ajax.

na variavel serverPage você coloca o seu endereco da servlet e passa como parametro se o check esta marcado ou não.

e era isso.

t+

Link para o comentário
Compartilhar em outros sites

  • 0
então,

veja esse tópico, ele usou um exemplo bem simples de ajax:

http://scriptbrasil.com.br/forum/index.php?showtopic=105746

retire a parte js em que ele faz verificacoes de user e senha e deixe apenas a parte ajax.

na variavel serverPage você coloca o seu endereco da servlet e passa como parametro se o check esta marcado ou não.

e era isso.

t+

Valeu amigo, vou abusar mais um pouco.

eu preciso praticamente disto:

//AQUI ELE TENTA CAPTURAR UM OBJETO XMLHTTP REQUEST DE ACORDO COM O BROWSER? CERTO?

try{

xmlhttp=new ActiveXObject("Msxml12.XMLHTTP");

} catch (e) {

try{

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

} catch(E){

xmlhttp=false;

}

}

if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){

xmlhttp=new XMLHttpRequest();

}

//AQUI EU ENVIO PARA UM "SERVLET QUE IRA FAZER A OPERAÇÃO, O VALOR DO CHECK"

serverPage="users/verifyuser.php?ref="+usuario;

xmlhttp.open("GET", serverPage);

//O QUE ESTA FUNÇÃO FAZ?

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState==4){

resultado=xmlhttp.responseText;

}

}

porque ELE CONFIGUROU ESTA FUNÇÃO COMO NULL

xmlhttp.send(null);

Agora dentro checkbox tem o evento on-click, como eu vinculo ele a uma função js, faço isso com links, colocando o nome da função. No check box eu tenho que colocar no evento?

Desculpe acho que eutou fazendo perguntas "simples d+", eu poderia testar antes, agora que já tenho o ajax, porque o que vem facil vai facil, Mas agora to no trabalho e aqui não tem como testar.

Agradeço a ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0

é bem por ai mesmo.

aquele try e todo codigo vai estar dentro de uma funcao,

essa funcao tera um nome.

ai no seu check você vai colocar:

onclick="java script:nome_da_funcao();">

tem muita coisa no ajax que é padrão, então não tem muito o que mecher ali.

por exemplo xmlhttp.send(null);

é null porque você esta usando GET, então vai tudo numa URL só...

se você estivesse usando POST, enviaria as variaveis ali no send.

o xmlhttp.readyState fica verificando o retorno HTTP STATUS da tua solicitacao,

o numero 4 indica um retorno com sucesso, o que seria HTTP STATUS = 200.

e é isso ai, aquele inicio tem que ter, pra ele gerar um objeto xmlhttp por navegador,

e a serverPage é o endereco da tua servlet, e concatena com o status da tua check.

sucesso ai,

Link para o comentário
Compartilhar em outros sites

  • 0
é bem por ai mesmo.

aquele try e todo codigo vai estar dentro de uma funcao,

essa funcao tera um nome.

ai no seu check você vai colocar:

onclick="java script:nome_da_funcao();">

tem muita coisa no ajax que é padrão, então não tem muito o que mecher ali.

por exemplo xmlhttp.send(null);

é null porque você esta usando GET, então vai tudo numa URL só...

se você estivesse usando POST, enviaria as variaveis ali no send.

o xmlhttp.readyState fica verificando o retorno HTTP STATUS da tua solicitacao,

o numero 4 indica um retorno com sucesso, o que seria HTTP STATUS = 200.

e é isso ai, aquele inicio tem que ter, pra ele gerar um objeto xmlhttp por navegador,

e a serverPage é o endereco da tua servlet, e concatena com o status da tua check.

sucesso ai,

Valeu brother!

Apesar de não poder testar em casa na aplicação. Quando chegar em casa vou fazer uns testes isolados nessa função.

Valeu mesmo!

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