2017-06-14 6 views
0

Im Abruf einiger JSON-Daten von einem MVC-Controller und ich möchte es in einem Formular bearbeiten. Problem beim Füllen des Formulars mit den zurückgegebenen Daten. Es gibt nur eine Datenzeile mit drei Eigenschaften. Ich überprüfte die Daten, die zurückgegeben werden, und es ist dort, aber wenn ich versuche, den Formularwert auf den Json-Datenwert zu setzen, fällt es einfach um. Mein Ajax Anruf compltes ok, ich bekomme Daten zurück, aber ich kann es einfach nicht in die Form bringen. herer das Bit in meinem Ajax-Aufruf, die Arbeit im VersuchFüllen eines Formulars von einem Ajax Anruf

success: function (data) { 

      var frm = $("#frmAddDisclaimer"); 

      if ("Disclaimer_ID" in frm.elements) { 
       frm.elements["Disclaimer_ID"].value = data.ID; 
      } 
      if ("Disclaimer_DisclaimerRef" in frm.elements) { 
       frm.elements["Disclaimer_DisclaimerRef"].value = data.DisclaimerRef; 
      } 
      if ("htmlEditorDisclaimer_source" in frm.elements) { 
       frm.elements["htmlEditorDisclaimer_source"].value = data.DisclaimerText; 
      } 

ive zu machen prüfte die form.elements Inhalte zur Laufzeit, und das ist die richtigen IDs und Daten hat entsprechende Daten in jedem ‚Eigentum‘ sowie

+0

verwenden Was JS Libs sind Sie auf dem vorderen Ende mit? –

+0

Verwenden Sie nur reguläre jQuery-Selektoren, um die Werte zuzuweisen. Wenn Sie beispielsweise eine Textfeld-ID = "Disclaimer_ID" haben, dann if ($ ("# Disclaimer_ID")) {$ ("# Disclaimer_ID"). Val (data.ID); } – mjw

Antwort

1

frm ist ein jquery-Objekt, es hat keine Elementeigenschaft.
Was Sie suchen ist das BFM Element im Inneren, können Sie es über eckige Klammer-Notation $("#frmAddDisclaimer")[0] aussetzen oder nur document.querySelector

var frm = document.querySelector("#frmAddDisclaimer"); 
+0

danke dir so sehr, das hat funktioniert – proteus