2017-05-25 4 views
0

Ich habe ein Formular in einem Bootstrap-Modal, das ich zum Bearbeiten von Datensatzwerten verwenden möchte. Die Änderungen werden jedoch nicht erkannt. Wenn ich eines der Felder bearbeite und das Modal speichere, nimmt jquery's .serialize() - Funktion immer noch die alten Werte auf, die ursprünglich im Modal angezeigt wurden. Ich habe bestätigt, dass die neuen Werte nicht erkannt werden, indem ich die Werte im Modal ändere, und verwende dann jquery-Befehle in der Konsole, um die aktuellen Werte des Feldes anzuzeigen. Es ist also nicht die Funktion .serialize(), die das Problem darstellt. Der Browser (oder jquery) nimmt die Änderungen einfach nicht auf.Modale Bootstrap-Änderungen werden nicht erkannt

Ich habe Modale für andere Teile des Programms verwendet und sie funktionieren gut. Ich habe also Vergleiche angestellt, aber ich sehe nichts, was dazu führen würde, dass es an einem Teil des Programms funktioniert, aber nicht hier.

Hier ist der ursprüngliche Eingang vom modal:

<input type="text" class="form-control" id="immundesc" name="immundesc" value="original value"> 

ich den Wert auf den Modal auf „meine Änderungen“, aber die Konsole zeigt immer noch den ursprünglichen Wert:

$("#immundesc").val(); "original value" 

Nur einige zusätzliche Information. Das Modal wird von einem Link aus einer Tabelle gestartet, die von AJAX generiert wurde. Ich hatte Erfolg damit in einem anderen Bereich in meinem Programm, aber stattdessen mit einem Knopf aus der Tabelle. Nicht sicher, ob das etwas damit zu tun haben würde.

Hat jemand etwas Ähnliches erlebt?

Antwort

1

Ich verstehe Ihre Probleme nicht. Wenn es nur einen Eingang mit immundesc Identifier im DOM gibt, funktioniert es genau. Versuchen Sie, das folgende Snippet zu verwenden.

$("button").click(function() { 
 
console.log($("#immundesc").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="form-control" id="immundesc" name="immundesc" value="original value"> 
 
<button>Change value and click Me!</button>

Überprüfen Sie Ihre Seite für Duplikat immundesc Kennung.

+0

Ich habe keine doppelten Bezeichner für meine Eingaben. Ich habe versucht, die ID und den Namen zu ändern, nur um zu sehen, ob dies das Problem ist und die Änderungen immer noch nicht erkannt werden. Ich weiß, es scheint ziemlich einfach zu sein. Es ist komisch. – hotstreak

0

Ich hatte eigentlich 2 Modale Setup. Eine, die ich für das Hinzufügen von Datensätzen verwende, und eine, die keine Änderungen erkennt, die ich für Änderungen verwendet habe. Ich habe das gemacht, weil ich das Add-Modal für viele verschiedene Einfügungen in verschiedenen Bereichen meiner Seite verwende. Ich dachte, es wäre einfacher, Add-ons und Bearbeitungen zu trennen, damit mein Code besser organisiert wäre. Ich habe versucht, das gleiche Modal für Adds und Edits zu verwenden und es hat funktioniert! Es erkennt jetzt die Änderungen sofort.

Es scheint, dass Bootstrap oder Jquery nicht gerne 2 Modals auf einer Seite eingerichtet haben. Kennt jemand den Grund dafür oder ist sich dieser Einschränkung bewusst? Falls ja, teilen Sie uns Ihr Wissen mit, damit andere Entwickler dieses Problem vermeiden können.

Danke!

Verwandte Themen