Jump to content
Fórum Script Brasil
  • 0

Checkbox Que Envia Um Xmlhttprequest


Rapapel
 Share

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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,

Link to comment
Share on other sites

  • 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.

Edited by Rapapel
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...