2016-07-03 8 views
0

Ich frage mich, ob es möglich ist, diese mehrstufige Form auf einer einzigen Seite zu tun, also nicht das div mit dem Inhalt aus der PHP-Datei neu laden, sondern direkt darunter anhängenAjax jQuery Multiple Step Formular statt div neu zu laden, nur neuen Inhalt anhängen

..

Dies ist, was ich bisher habe:

$(document).on('submit', '#reg-form', function(){ 
var ln = $('#submit').val(); 
var id = $('#id').val(); 

var data = 'submit='+ln; 
    $.ajax({ 

    type: 'GET', 
    url : 'step.php', 
    dataType : 'html', 
    data : data, 
    success : function(data) 
     { 
     $('#reg-form').fadeOut(500).hide(function() 
     { 
     $('.result').fadeIn(500).show(function() 
     { 
     $('.result'+id).append(data); 
     }); 
     }); 

     } 

    }); 
     return false; 

}); 

auch habe ich versucht, verschiedene divs zu verwenden, mit inkremental-ids jeden Inhalt zu setzen in einem eigenen div. Das Problem ist, ich bekomme nur den "zweiten" Schritt, also geht es nicht durch das ganze Formular.

Ich denke, es ist, weil die Form der ersten Seite immer noch da ist und alle die gleiche ID haben. Kann mir bitte jemand hier helfen?

+0

_ „Ich denke, es ist, weil die Form der ersten Seite ist immer noch da und alle haben die gleiche ID ..“ _ 'data' enthält' html' mit doppelten "id"? – guest271314

+0

Die Formular-ID ist nicht eindeutig, ja .. Ich weiß nicht, wie man den obigen Code mit verschiedenen IDs für verschiedene Formulare schreibt, also wird die Funktion ausgeführt, wenn eines der Formulare übergeben wird. –

Antwort

0

id Element in document sollte eindeutig sein. Ändern Sie die doppelte id bei html Quelle oder mit javascript

success : function(data) { 
     // change duplicate `reg-form` `id` to value 
     // corresponding to `.length` of elements having `id` 
     // containing `"reg-form"` 
     $(data).filter("#reg-form") 
     .attr("id", "reg-form-" + $("[id*='reg-form']").length); 
     $("#reg-form").fadeOut(500).hide(function() { 
     $(".result").fadeIn(500).show(function() { 
     $(".result" + id).append(data); 
     }); 
     }); 
} 
Verwandte Themen