Javascript 不受约束的可观察击倒

Javascript 不受约束的可观察击倒,javascript,asp.net-mvc-4,knockout.js,Javascript,Asp.net Mvc 4,Knockout.js,我正在使用表单进行编辑。加载表单时会填充分类代码。使用数据绑定属性将字段绑定到HTML中的敲除观察值。我面临的唯一问题是,当数据发送到控制器时,此特定字段(分类代码)为空 HTML是 <div class="form-group"> <label class="col-sm-2 control-label labelfont">Certification:</label> <div class="col-sm-6">

我正在使用表单进行编辑。加载表单时会填充分类代码。使用数据绑定属性将字段绑定到HTML中的敲除观察值。我面临的唯一问题是,当数据发送到控制器时,此特定字段(分类代码)为空

HTML是

<div class="form-group">
    <label class="col-sm-2 control-label labelfont">Certification:</label>
    <div class="col-sm-6">
        <select class="form-control" id="certification" name="certification" data-bind="value:certification,options:certificationArray, optionsCaption: 'Select a Certification'">
        </select>
    </div>
</div>

<div class="form-group">
    <label class="col-sm-2 control-label labelfont">Specialization:</label>
    <div class="col-sm-6">
        <select class="form-control" id="specialization" name="specialization" data-bind="value:specialization,options:specializationArray, optionsCaption: 'Select a Specialization'"></select>
    </div>
</div>

<div class="form-group">
    <label class="col-sm-2 control-label labelfont">Taxonomy Code:</label>
    <div class="col-sm-6">
        <input type="text" class="form-control" placeholder="Taxonomy code" id="taxonomyCode" name="taxonomyCode" data-bind="textInput: taxonomyCode,valueUpdate: 'input'" disabled="disabled">
    </div>
</div>
我只添加了最少的代码。有人能告诉我为什么分类字段为空。请参考附件中的图片。


大多数浏览器不提交禁用字段的值。如果希望将值发送到服务器,则需要找出另一种方法来防止用户编辑字段。

大多数浏览器不提交禁用字段的值。如果希望将值发送到服务器,则需要找出另一种方法来防止用户编辑字段。

大多数浏览器不提交禁用字段的值。如果希望将值发送到服务器,则需要找出另一种方法来防止用户编辑字段。

大多数浏览器不提交禁用字段的值。如果您希望将值发送到服务器,您需要找到一种不同的方法来防止用户编辑该字段。

先生,您是一个救生员。非常感谢。刚刚检查了我的创建表单,同一字段是只读的。很高兴我能帮上忙!:DYou,先生,你是个救生员。非常感谢。刚刚检查了我的创建表单,同一字段是只读的。很高兴我能帮上忙!:DYou,先生,你是个救生员。非常感谢。刚刚检查了我的创建表单,同一字段是只读的。很高兴我能帮上忙!:DYou,先生,你是个救生员。非常感谢。刚刚检查了我的创建表单,同一字段是只读的。很高兴我能帮上忙!:D
var provider = function() {
    var self = this;

    if ((providerEditInfo.Certification == "M.D.") || (providerEditInfo.Certification == "M.B.B.S")) {
        specialities = ["Dermatology", "Hematology", "Neurology"];
    } else if ((providerEditInfo.Certification == "R.N.") || (providerEditInfo.Certification == "M.S.N.")) {
        specialities = ["Pediatric Nursing", "Critical Care Nursing", "Occupational Health Nursing"];
    }
    self.certificationArray = ko.observableArray(["M.B.B.S", "M.D.", "R.N.", "M.S.N."]);
    self.certification = ko.observable(providerEditInfo.Certification);
    self.specializationArray = ko.observableArray(specialities);
    self.specialization = ko.observable(providerEditInfo.Specialization);
    self.taxonomyCode = ko.observable(providerEditInfo.TaxonomyCode);
    self.certification.subscribe(function(val) {
        self.specializationArray([]);

        if (val == "M.D." || val == "M.B.B.S") {
            self.specializationArray(["Dermatology", "Hematology", "Neurology"])
        } else if (val == "R.N." || val == "M.S.N.") {
            self.specializationArray(["Pediatric Nursing", "Critical Care Nursing", "Occupational Health Nursing"])
        } else {
            self.specializationArray([]);
        }
    });
    self.specialization.subscribe(function(val) {
        self.taxonomyCode("");
        if (val == "Dermatology")
            self.taxonomyCode("207N00000X");
        else if (val == "Hematology")
            self.taxonomyCode("207RH0000X");
        else if (val == "Neurology")
            self.taxonomyCode("2084N0400X");
        else if (val == "Pediatric Nursing")
            self.taxonomyCode("363LP0200X");
        else if (val == "Critical Care Nursing")
            self.taxonomyCode("363LC0200X");
        else if (val == "Occupational Health Nursing")
            self.taxonomyCode("363LX0106X");
    });
};

$(document).ready(function() {
    ko.applyBindings(new provider());
});