Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, eu defini um evento para o submit de de uma função, porém o formulário carrega mais de uma vez na mesma página e quando vou em inspecionar elemento o evento está ativado só no primeiro form. Isso não faz muito sentido porque todos os form são idênticos (são gerados dentro de um while do php). Olha me script:
function ajax_podtudo () {
$raiz = $('#raiz').text();
$('#assinar').submit( function(e) {
var path = $raiz + 'podtudo';
var title = 'Podtudo - Nerd Wars';
window.history.pushState( path, title, path );
document.title = title;
e.preventDefault();
$('#carregar').fadeTo(200,.7);
$('.status').css({'width' : '100%'});
var vez=1;
toTop(vez);
$('#ajx').load( path + ' #carregar', {
nome: $( 'input#nome' ).val(),
feedurl: $( 'input#feedurl' ).val(),
imgassin: $( 'input#imgassin' ).val(),
trackid: $( 'input#trackid' ).val(),
fazer: $( 'input#fazer' ).val()
},
function() {
$('#carregar').fadeTo(200,1);
$('.status').css({'width' : '0%'});
lerfun(); /* Releitura das funções JS */
});
return false;
});
}Nossa, muito bem lembrado, realmente me esqueci disso. Obrigado!
Um problema que tive foi que quando envio qualquer form ele envia só o valor do primeiro, sabe como resolver isso?
yep, navegando no DOM.
nome: $(this).find( 'input[name="nome"]' ).val(),
feedurl: $(this).find( 'input[name="feedurl"]' ).val(),
imgassin: $(this).find( 'input[name="imgassin"]' ).val(),
trackid: $(this).find( 'input[name="trackid"]' ).val(),
fazer: $(this).find( 'input[name="fazer"]' ).val()tendo em mente que $(this) é o formulário.
Nossa, genial! Tenho que dizer que comecei a implementar ajax no meu projeto por causa de um post no seu blog. Muito obrigado pela ajuda.
Porque você não pode duplicar IDs.
Use classes.