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

Checkbox com ajax!


raulsouzalima

Pergunta

Olá pessoal!

Minha dúvida é a seguinte, tenho uma página onde faço controle de usuários, o que cada um pode fazer ou não. Podem criar, editar ou excluir produtos, etc... como na imagem.

usuarios_acesso.jpg

Quero o seguinte, que quando eu clique em um checkbox o mesmo dependendo do estado envie algo pro banco de dados e abaixo, em uma div mostre uma mensagem dizendo o que eu fiz, tipo se dei permissão para criação ou não de arquivo, etc...

Já fiz algumas coisas, quando clico ele já aparece a mensagem embaixo.

Eu não sei como faço para pegar o valor do checkbox, se está clicado ou não... ele está funcionando assim, qundo seleciono o checkbox ele aparece a mensagem, se deixo desmarcado a mensagem também continua, mas não sei pegar seu valor...

Vou postar algumas partes das minhas páginas.

Aqui é meu js

function addAccess(url) {
    //criar_usuario = url.usuario_criarproduto.value;
    // Objeto httpRequest iniciado
    http_ajax = initHttpRequest();
    
    // Quando o estado da requisição for alterada, chama a função getDadosProcessa;
    http_ajax.onreadystatechange = getDadosProcessa;

    // Abri a página que processa os dados no banco
    http_ajax.open('GET', url, true);

    // Seta o cabeçalho da requisição
    http_ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    http_ajax.setRequestHeader("Content-type","text/html; charset=ISO-8859-1");
    http_ajax.setRequestHeader("encoding","ISO-8859-1");
    http_ajax.setRequestHeader("Pragma","no-cache");

    // Caso faça via POST, enviar os dados como parâmetro
    http_ajax.send(null);
}

function getDadosProcessa() {
    // Determina se a requisição da chamada assíncrona ao servidor web está completa
    if(http_ajax.readyState == 4) {
        // Se o código de status enviado pelo servidor web for 200 prossegue
        if(http_ajax.status == 200) {
            if(window.ActiveXObject) {
                document.getElementById('resposta_usuario').innerHTML = http_ajax.responseText;
            }
            else if(document.implementation && document.implementation.createDocument) {
                document.getElementById('resposta_usuario').innerHTML = http_ajax.responseText;
            }
        }
        // Caso a requisição não tenha tido sucesso exibe um alert
        else {
            alert('Desculpe houve um problema com a requisição.');
        }
    }
}
Essa parte é chamada através de um while, listando todos os usuários.
echo "<td><p class='tabela_campo_id'>
                          <input type='checkbox' name='usuario_criarproduto' id='criar_produto[$usuario[Id]]' value='no' onclick=\"addAccess('acesso_usuarios.php');\" />
                             <label class='labels' for='criar_produto[$usuario[Id]]'>Criar</label>
                         <input type='checkbox' name='usuario_editarproduto' id='editar_produto[$usuario[Id]]' value='0' />
                             <label class='labels' for='editar_produto[$usuario[Id]]'>Editar</label>
                         <input type='checkbox' name='usuario_excluirproduto' id='excluir_produto[$usuario[Id]]' value='0' />
                             <label class='labels' for='excluir_produto[$usuario[Id]]'>Excluir</label>    
                          </p>
                      </td>";
Essa é a página acesso_usuarios.php que é chamado, o conteúdo que está ai foi só pra teste.
<?php
    header("Content-Type: text/html; charset=ISO-8859-1",true);
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
    $valor = $_POST['usuario_criarproduto'];
    if($valor == "no")
    echo "Sem acesso";
    else
    echo "Usuário raul pode criar arquivos!";
?>

Espero que tenham entendido, vlw!

Ninguém???

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá,

Faça o seguinte, no valor de cada check box tente colocar da seguinte maneira:

<input type="checkbox" value="COD_DO_USUARIO,VALOR">

Onde:

COD_DO_USUARIO = Código do usuário dentro do sistema

VALOR = Se ele pode ter acesso ou não

Então você passa este valor por get ou post para o ajax, depois dentro da página PHP você quebra esta string em um Array pelo delimitador ",". A partir dai voce pode atualizar o tal usuario que pode fazer tal ação verificando a segunda posição da array.

Espero que tenha ajudado.

Marcos Oliveira

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