【问题标题】:populating a form from an ajax call从 ajax 调用填充表单
【发布时间】:2017-06-14 13:04:57
【问题描述】:

我正在从一个 mvc 控制器中检索一些 json 数据,并且我想在一个表单中对其进行编辑。实际使用返回的数据填充表单时遇到了麻烦。只有一行数据,具有三个属性。我检查了返回的数据并且它在那里,但是每当我尝试将表单值设置为 json 数据值时,它就会崩溃。我的 ajax 调用完成了,我取回了数据,但我似乎无法将其放入表单中。这是我试图做的 ajax 调用中的一点

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;
            }

我在运行时检查了 form.elements 的内容,这些是正确的 ID,并且数据在每个“属性”中也有相应的数据

【问题讨论】:

  • 你在前端使用什么 JS 库?
  • 只需使用常规的 jQuery 选择器来分配值。例如,如果您有一个文本框 ID="Disclaimer_ID" 那么 if($("#Disclaimer_ID")) { $("#Disclaimer_ID").val(data.ID); }

标签: javascript jquery json ajax forms


【解决方案1】:

frm 是一个 jquery 对象,它没有元素属性。
您要查找的是其中的 fom 元素,您可以通过方括号符号 $("#frmAddDisclaimer")[0] 或仅使用 document.querySelector 公开它

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

【讨论】:

    猜你喜欢
    • 2017-04-14
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 2012-11-27
    • 1970-01-01
    相关资源
    最近更新 更多