3 Stimmen

jQuery mehrere Formulare pro Seite

Ich habe eine Seite, die dynamisch mehrere Formulare erstellt, jedes Formular hat eine eindeutige "id" In jedem Formular gibt es ein verstecktes Eingabefeld, das immer die gleiche "id" und den gleichen "Namen" hat.

Was ich tun möchte, ist mit jedem Formular in der Lage sein, einen Ajax (Post) Aufruf zu tun, die ich tun kann, ist mein Problem immer das Eingabefeld Wert aus der von.

So kann ich die

    $(document).ready(function() {

var n = $("form").size();
alert('there are ' + n + ' forms');

$('form').submit(function(event){
    event.preventDefault();

    var formName = $(this).attr('id');
    alert(formName);

});

});

Also, was ich amnting zu tun ist, um den Wert des Eingabefeldes in der Form zu erhalten, die ausgelöst wurde, wird die id in der var gehalten formName

Ich habe mich durchgebissen, aber ich komme nicht so schnell weiter...

Danke

Simon

1voto

Alex Pliutau Punkte 20530

Geben Sie die ID Ihres versteckten Elements in find() ein. Und machen Sie .ajax() mit der Übergabe von hiddenValue an data.

$('form').submit(function(event){
    event.preventDefault();
    var hiddenValue = $(this).find('#id-of-hidden').val();
});

0voto

Quasdunk Punkte 14544

Sie wollen dies tun:

$('form').submit(function(event){
    var post_data = $(this).serialize();
    var post_to = $(this).attr('action');
    $.post(post_to, post_data, function(return_data) {
      alert(return_data);
    });
    return false;

});

Sie brauchen die ID des Formulars eigentlich nicht zu kennen. Sie können einfach auf sie verweisen mit $(this) und die serialize() -Funktion kümmert sich um alle Werte, die Sie buchen möchten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X