Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde... tenho uma página que lista produtos e sua imagem. Coloquei um link para alterar a imagem do produto, digamos que me traga 5 resultados, claro, cada resultado traz um form com o input file e outro com a id. Então, quando executo o jquery-form ele percorre todos os campos, resultando na alteração que eu fiz, e 4 alerts que o campo não foi carregado, ou seja... ele executa 5 vezes, apagando a imagem dos outros 4.
O que preciso é que ele execute somente para aquele form e o input file dele... segue o meu jquery-form:
$('body').on('change', '#imagem_item', function(){
$('.editar-imagem').ajaxForm({
beforeSend: function() {
loading();
},
success: function() {
location.reload();
},
url: ''+baseurl+'upload/imagem',
type: 'post',
resetForm: false
}).submit();
});O resultados são mais ou menos isso... esse é o problema, já utilizei essa função outras vezes, só que sempre para apenas um usuário... agora são vários resultados.
<ul class="media-list itens-adm">
<li class="media">
<a class="pull-left fileinput">
<img class="media-object" src="<?php echo base_url() ?>assets/loja/{imagem}" alt="{nome}" width="140px" height="80px">
<!-- jquery form -->
<form class="editar-imagem" method="post" action="javascript:func()" enctype="multipart/form-data">
<input type="file" name="imagem_item" id="imagem_item">
<input type="hidden" name="id_item" id="id_item" value="{id_item}">
</form>
</a>
<div class="media-body">
<h4 class="media-heading pull-left">{nome}</h4>
<p class="text-danger pull-right">R$ {valor}</p>
<span><button class="btn btn-link exclusive"><i>#{categoria}</i></button></span>
<span>{descricao}</span>
</div>
</li>
</ul>troca:
$('body').on('change', '#imagem_item', function(){
$('.editar-imagem').ajaxForm({ por
$('body').on('change', '#imagem_item', function(){
$(this).parents('form').ajaxForm({Mazáá agora sim... Eu tentei fazer isso, só que colocando a classe do form, e não só 'form'. Valeu William Bruno.
Poste o trecho de html.