AngularJS ,添加了 2 个带有 id 和 ng-model 的额外输入文本框,但它们没有被提交
AngularJS , adding 2 extra input text boxes with id and ng-model and they are not getting submitted
我一直在修改我做过很多次的表格。这次有人我不明白为什么它不发送 2 个额外的字段
控制器
vm.question = {};
现在大部分时间它们都是空白的,但我不记得有没有发送空白字段值的问题
有效的现有字段
<div class="form-group">
<label class="col-md-2" for="english">Spanish</label>
<div class="col-md-10">
<input type="text" ng-model="vm.question.VerbiageSpanish"
id="verbiagespanish" name="verbiagespanish"
class="form-control"
placeholder="Spanish" />
</div>
</div>
新字段已添加到表单 ng-model
但未在保存时提交
<div class="form-group">
<label class="col-md-2" for="english">Parent ID</label>
<div class="col-md-10">
<input type="text" ng-model="vm.question.ParentId"
numbers-only style="width:30px" id="parentid"
name="parentid" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-md-2" for="english">Parent Value</label>
<div class="col-md-10">
<input type="text" ng-model="vm.question.ParentValue"
style="width:220px" id="parentvalue" name="parentvalue"
class="form-control"
placeholder="Parent Value" />
</div>
</div>
代码示例,请注意它具有 VerbiageSpanish 和除新的 ParentId 和 ParentValue 之外的所有其他字段
这怎么可能?
{
"Active": true,
"Name": "test",
"Description": "test",
"Verbiage": "test",
"VerbiageSpanish": "test",
"directive": {
"1": true
},
"data": {
"1": "yes"
},
"SortOrder": {
"1": "2"
}
}
根据评论更新:
如果我填写 ParentId 和 ParentValue,然后我看到它被发送过来,因为我什至 console.log 看到它
表单提交按钮
<button type="button" class="btn btn-success" data-dismiss="modal"
ng-click="vm.saveQuestion(vm.question)">
Save
</button>
控制器将所有内容发送到服务,因此当没有任何值
时,显然甚至不会发送到 API
vm.saveQuestion = function (script) {
var promise = "";
console.log('savequestion debug', script);
当我将数据输入这些文本框时,我看到了这个
{
"Active": true,
"Name": "test",
"ParentId" : "22",
"ParentValue": "afafaf",
"Description": "test",
"Verbiage": "test",
"VerbiageSpanish": "test",
"directive": {
"1": true
},
"data": {
"1": "yes"
},
"SortOrder": {
"1": "2"
}
}
我认为要么像在控制器中一样初始化这些键
vm.question.VerbiageSpanish = "";
vm.question.ParentId = "";
vm.question.ParentValue = "";
或
在这些字段中使用 ng-init=""
<input type="text" ng-model="vm.question.ParentValue"
style="width:220px" id="parentvalue" name="parentvalue"
class="form-control"
ng-init="" placeholder="Parent Value" />
我一直在修改我做过很多次的表格。这次有人我不明白为什么它不发送 2 个额外的字段
控制器
vm.question = {};
现在大部分时间它们都是空白的,但我不记得有没有发送空白字段值的问题
有效的现有字段
<div class="form-group">
<label class="col-md-2" for="english">Spanish</label>
<div class="col-md-10">
<input type="text" ng-model="vm.question.VerbiageSpanish"
id="verbiagespanish" name="verbiagespanish"
class="form-control"
placeholder="Spanish" />
</div>
</div>
新字段已添加到表单 ng-model
但未在保存时提交
<div class="form-group">
<label class="col-md-2" for="english">Parent ID</label>
<div class="col-md-10">
<input type="text" ng-model="vm.question.ParentId"
numbers-only style="width:30px" id="parentid"
name="parentid" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-md-2" for="english">Parent Value</label>
<div class="col-md-10">
<input type="text" ng-model="vm.question.ParentValue"
style="width:220px" id="parentvalue" name="parentvalue"
class="form-control"
placeholder="Parent Value" />
</div>
</div>
代码示例,请注意它具有 VerbiageSpanish 和除新的 ParentId 和 ParentValue 之外的所有其他字段 这怎么可能?
{
"Active": true,
"Name": "test",
"Description": "test",
"Verbiage": "test",
"VerbiageSpanish": "test",
"directive": {
"1": true
},
"data": {
"1": "yes"
},
"SortOrder": {
"1": "2"
}
}
根据评论更新:
如果我填写 ParentId 和 ParentValue,然后我看到它被发送过来,因为我什至 console.log 看到它
表单提交按钮
<button type="button" class="btn btn-success" data-dismiss="modal" ng-click="vm.saveQuestion(vm.question)"> Save </button>
控制器将所有内容发送到服务,因此当没有任何值
时,显然甚至不会发送到 APIvm.saveQuestion = function (script) { var promise = ""; console.log('savequestion debug', script);
当我将数据输入这些文本框时,我看到了这个
{
"Active": true,
"Name": "test",
"ParentId" : "22",
"ParentValue": "afafaf",
"Description": "test",
"Verbiage": "test",
"VerbiageSpanish": "test",
"directive": {
"1": true
},
"data": {
"1": "yes"
},
"SortOrder": {
"1": "2"
}
}
我认为要么像在控制器中一样初始化这些键
vm.question.VerbiageSpanish = "";
vm.question.ParentId = "";
vm.question.ParentValue = "";
或
在这些字段中使用 ng-init=""
<input type="text" ng-model="vm.question.ParentValue"
style="width:220px" id="parentvalue" name="parentvalue"
class="form-control"
ng-init="" placeholder="Parent Value" />