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

Problema com formulário que passa um array com ajax


Leandro Pedrosa

Pergunta

Tenho um problema com um formulário.

Estou querendo passar um array de um formulário com o nome arquivo para um script ajax e dele para um arquivo php.

Meu problema é receber este array no script ajax.

Na minha opinão, o problema está aqui:

var dados = new Array();

dados[] = "arquivo="+formulario.arquivo.value;

Não estou sabendo como resolver.

Vide os arquivos abaixo:

apagarArquivo.php

<form id="form1" method="post" action="" onsubmit="return deletar(this)" enctype="application/x-www-form-urlencoded">
        <fieldset>
        <legend> Apagar Arquivo</legend>
        <label for="arquivo" >Arquivo:</label>
        <?php
            while ($dado = mysql_fetch_array($sql)){
                ?>
                <br /><br />
                <input type="checkbox" id="arquivo" name="arquivo[]" value="<?php echo $dado[0]; ?>" /> <?php echo $dado[0]." - ".$dado[1]." - ".$dado[2]; ?>
                <?php
            }
        ?>
        
        <center><input type="submit" name="enviar" id="enviar" value="Enviar" /></center><br /><br />
        
        <center><span id="msg"></span></center>
        </fieldset>
    </form>
script.js
...
function deletar(formulario){
        
        var dados = new Array();
        dados[] = "arquivo="+formulario.arquivo.value;
        var ajax = objXMLHttp();
        ajax.open("POST", "deletar.php", true);
        ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        ajax.onreadystatechange = function(){
            if (ajax.readyState == 1) {
                //alert(1);
                document.getElementById("#msg").innerHTML = "<center><img src='ajax-loader.gif' alt='Carregando...' align='middle' ></center>";

            }
            if (ajax.readyState == 4){
                if(ajax.status == 200){
                    apagar(ajax.responseText);
                    
                }else{
                    apagar("Ocorreu o erro: "+ ajax.statusText);    
                }
            }
            
        };
        
        ajax.send(dados);
        return false;
}


function apagar(msg){
    document.getElementById('msg').innerHTML = msg;    
}

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Leandro, o que eu entendi é:

você tem uma pagina PHP, que faz a listagem de vários checkbox.

e então, você quer enviar os valores selecionados dos checkbox para outra página PHP, via AJAX. Correto?

Se for, você só precisa obter os checkbox selecionados, concatenar os valores dos checkbox e então passar uma stirng para o PHP.

Essa string teria uma formatação, mais o menos assim: "'arquivo1','arquivo2','arquivo5','arquivo7'";

Então, o PHP tranforma essa string em array, utilizando a função explode();

Abraço!

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