Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

frangfer

Ajax com json

Recommended Posts

Boa tarde galerinha... estou na busca de uma solução pro meu problema será que vcs podem me ajudar???

 

SEguinte...

eu tenho uma pagina chamada pg.php onde nela são listados todos os meus equipamentos cadastrados no banco de dados beleza??

// Interface Equipamento----------------------------------------------------------------
if($_REQUEST["pg"] == "pg_equipamento"){
$MYSQL = new Mysql();
$MYSQL->query = "SELECT * FROM equipamentos ORDER BY id_equipamento DESC";
$EQUIPAMENTOS = $MYSQL->sqlExec();
?>
            <div id="tabs">
                   <ul>
                       <li><a href="#tabs-1">EQUIPAMENTOS DE SEGURANÇA</a></li>
                   </ul>
                   <div id="tabs-1">
                   		<button id="novo_equipamento_btn" class="button_ico_text ui-icon-plus">Novo Equipamento</button>
                           <form id="novo_equipamento_form" style="display:none" action="actions.php" method="post" enctype="multipart/form-data">
                               Nome:
                               <input type="text" id="nome" name="nome" value="" class="input text ui-corner-all w_long " />
                               Imagem:
                               <input type="file" id="file" style="display:block;margin-bottom:10px" class="button w_long" name="imagem"  />
                               <input type="hidden" name="action" value="insert_equipamento" />
                               <input type="hidden" id="destino" name="destino" value="equipamento" />
                           <button id="novo_equipamento_save" class="button_ico_text ui-icon-check">Salvar</button>
                           <button id="novo_equipamento_cancel" type="reset" class="button_ico_text ui-icon-close">Cancelar</button>
                           <div id="equipamento_add_response" style="margin-top:10px"></div>
                           </form>

                  <div class="table ui-widget-content">
                     <div class="ui-widget-header">Equipamento</div>
                       <table id="table_serv_prod">
                           <tr>
                               <th width="50">id</th>
                               <th width="500">Nome</th>
                               <th width="81">Opções</th>
                               <th width="81">Excluir</th>
                           </tr>
                           <?php
                               $alt=false;
                               while($EQUIPAMENTO = mysql_fetch_array($EQUIPAMENTOS)){
                           ?>
                                  <tr <?php if($alt) echo 'class="table_alt"';$alt = ! $alt; ?>>
                                       <td class="tright"><?php echo $EQUIPAMENTO["id_equipamento"] ?></td>
                                       <td><a href="../files/equipamentos/<?php echo $EQUIPAMENTO["imagem"] ?>" class="fancybox"><?php echo $EQUIPAMENTO["nome"] ?></a></td>

                                       <td><button class="button_ico_text ui-icon-pencil edit_ser_prod" name="ajax.php?content=update_equipamento&id=<?php echo $EQUIPAMENTO["id_equipamento"] ?>">Editar</button></td>
                                       <td> <button class="button_ico_text ui-icon-close remove_ser_prod" name="actions.php?action=remove_equipamento&id=<?php echo $EQUIPAMENTO["id_equipamento"] ?>">Excluir</button></td>
                                   </tr>
                            <?php 

                               }
                           ?>
                       </table>
                   </div>
                   </div>
               </div>
<?php
}

 

 

Essa pg.php qndo clico em Editar ele chama essa função aki:

//Update serviço ou produto
$(ajax_id_attack + ".edit_ser_prod").click(function(){
	if($(".updating_line button").length <= 0){
		var $url = $(this).attr('name');
		$line_attack = $(this).parent().parent();
		$line_attack.addClass('updating_line');
		$(".updating_line button").button( "destroy" );
		$line_html = $(this).parent().parent().html();
		$.ajax({
			cache : false,
			type : 'GET',
			dataType : 'json',
			url : $url,
			success : function(data){
				$line_attack.html('<td colspan="4">'+data+'</td>');
				buttons_style("#update_equipamento_form");
				$(ajax_id_attack + "#update_equipamento_cancel").click(function(){
					$line_attack.html($line_html);
					actions_ajax(".updating_line");
					buttons_style(".updating_line");
					fancybox(".updating_line");
					$line_attack.removeClass('updating_line');
					return false;
				});
				$(ajax_id_attack + "form").ajaxForm({
					type : 'POST',
					clearForm : true,
					dataType : 'json',
					beforeSubmit : function(){
						if($("#equipamento_up_response").length > 0){
							$("#equipamento_up_response").html("Enviando...");
						}
						var $error = '';
						if($(".updating_line #nome").val() == '')
							$error += 'Preencha o nome!\n';
						if($error != ''){
							//$("#servico_add_response").html($error);
							//alert($error);
							$("#equipamento_up_response").html("");
							return false;
						}
					},
					success : function(data){
						$line_attack.html('<td class="tright">' + data.id + '</td><td><a href="../files/serv_prod/' + data.imagem + '" class="fancybox">' + data.nome + '</a></td><td><button class="button_ico_text ui-icon-pencil edit_ser_prod" name="ajax.php?content=update_'+data.destino+'&id=' + data.id  + '">Editar</button></td><td> <button class="button_ico_text ui-icon-close remove_ser_prod" name="actions.php?action=remove_'+data.destino+'&id=' + data.id + '">Excluir</button></td>');
						actions_ajax(".updating_line");
						buttons_style(".updating_line");
						fancybox(".updating_line");
						$line_attack.removeClass('updating_line');
					}
				});

			}
		});
	}
	else
		alert('Você está editando outro item.\nTerminte antes de iniciar outra alteração!');
	return false;
});

 

 

e essa função tem q mostrar essa pag - ajax.php

if($_GET["content"] == "update_equipamento"){
$MYSQL = new Mysql();
$MYSQL->query = "SELECT * FROM equipamentos WHERE id_equipamento = " . $_REQUEST["id"];
$EQUIPAMENTO = mysql_fetch_array($MYSQL->sqlExec());
?>
   <form id="update_equipamento_form" class="ui-widget-content ui-corner-all" style="margin:20px;padding:10px" action="actions.php" method="post" enctype="multipart/form-data">
       Nome:
       <input type="text" id="nome" name="nome" value="<?php echo $EQUIPAMENTO["nome"] ?>" class="input text ui-corner-all w_long " />
       Imagem:
       <img style="display:block;margin-bottom:5px" src="../files/equipamentos/t104x73/<?php echo $EQUIPAMENTO["imagem"] ?>" />
       <input type="file" id="file" style="display:block;margin-bottom:10px" class="button w_long" name="imagem"  />
       <input type="hidden" name="id" value="<?php echo $EQUIPAMENTO["id_equipamento"] ?>" />
       <input type="hidden" name="action" value="update_equipamento" />
   <button id="update_equipamento_save" class="button_ico_text ui-icon-check">Salvar</button>
   <button id="update_equipamento_cancel" type="reset" class="button_ico_text ui-icon-close">Cancelar</button>
   <div id="equipamento_up_response" style="margin-top:10px"></div>
   </form>
<?php
}

 

 

nakela pg.php sacaram?????

 

Eu já descobri q o problema na verdade está na função ajax ali... pois com alguns alerts eu descobri q clicando em editar ele está sim indo pra função... porém, chega em uma parte da função q não funciona mais.

 

 

Será que vcs conseguem me ajudar???

 

Desde já, obrigada a Todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe.. mas não entendi bem..

 

 

a mesma função js, deve ser aplicada a esse form de update ?

<button id="update_equipamento_save" class="button_ico_text ui-icon-check">Salvar</button>

esse botão não bate com o seltor do click lá em cima..

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim: eu clico no editar do pg.php e ele tem q aparecer o form do ajax.php em uma div do próprio pg.php saco?

o botão tá dando certo. o problema é q existe um erro na função ajax q não está deixando aparecer o form no pg.php!

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa debugar:

 

 

success : function(data){
   alert( data );
   $line_attack.html('<td colspan="4">'+data+'</td>');

nesse alert, aparece o formulario q você queria ?

 

 

no console de erros aparece algo ?

http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

então... é mto complicado sabe pq... qndo eu coloco alguns alert ("entrou aki"); e talz no ajax... e vou lah e clico em editar... aparece o alert na tela saca?

só q qndo quero q ele mostre o form da outra pag, isso ele não faz!!!

 

 

 

Nesse alert aí sai um null básico!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... se acalma!

 

 

então... é mto complicado sabe pq...

não, não sei. Eh tudo muito simples!

 

 

qndo eu coloco alguns alert ("entrou aki"); e talz no ajax... e vou lah e clico em editar... aparece o alert na tela saca?

ok.. isso é bom.

Se apareceu, então o teu teste com o alert funcionou, e você pode passar para o próximo passo.

 

se acalme!

 

 

só q qndo quero q ele mostre o form da outra pag, isso ele não faz!!!

e por qual motivo ?

 

 

 

Nesse alert aí sai um null básico!!!

Achamos o motivo!

 

viu como foi fácil?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veio num NULL certo?

 

e você insere esse NULL no HTML, viu:

    $line_attack.html('<td colspan="4">'+data+'</td>');

?

 

então, você precisa q dai volte o form, é isso ne?!

 

o data deveria ter o seu form, certo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok.. e pq não é?(pq esta vindo NULL ?)

 

 

você entende como funciona uma requisição ajax ?

 

 

 

Nota:

A sua requisição é para o arquivo: ajax.php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

to começando agora... por isso estou nesse tumulto na cabeça... pq não entendo perfeitamente!!!

Essa função aí peguei mais ou menos pronta... pra tentar entender... aí funcionou um tempo... mas axo q devo ter mexido em algo pra ter parado de funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, então pare de trabalhar, se afaste um pouco desse problema, e estude.

 

só assim você conseguirá resolver, e num próximo gastará menos tempo.

acho q esse artigo meu aqui, mostra oq eu quero te dizer:

http://wbruno.com.br/blog/2011/04/08/o-que-e-ajax-e-o-que-nao-e/

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza... vou estudar pra um próximo trabalho... agora eu gostaria de ajuda de alguém!! só pra eu poder terminar esse!!! mas beleza... c alguém puder me ajudar agradeço mto!!! valew galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. eu te dei ajuda...

 

o seu problema é q o ajax.php não está retornando o form, você tinha concluido isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.