gpt4 book ai didi

javascript - 优先级-web-sdk : Implementing a choose-field

转载 作者:行者123 更新时间:2023-11-28 04:29:33 25 4
gpt4 key购买 nike

我正在尝试使用 <select> 实现选择字段控制。

<div id="container" onchange="fieldChangeHandler(event)">

...

<div class="item" >
<label>Status</label>
<select id="STATDES" onfocus="focusdiv(event)" onblur="defocusdiv(event)"></select>
</div>

updateFields()处理程序我识别控件类型:

function updateFields(result) {
if (result[myForm.name]) {
var fields = result[myForm.name][1];
for (var fieldName in fields) {
var el = document.getElementById(fieldName);
if (el) {
switch (el.nodeName){
case "INPUT":
el.value = fields[fieldName];
break;

case 'SELECT':
fill(el, fields[fieldName]);
el.value = fields[fieldName];
break;

};
};
}
}
}

...如果控件是 <select>我通过调用表单 choose 来填写选项。 :

function fill(el, sel){
myForm.choose(el.id, "").then(
function (searchObj) {
var i, ch;
$('#'+el.id).empty();
for (i in searchObj.ChooseLine) {
ch = searchObj.ChooseLine[i];
if (ch.string1 == sel){
$("#"+el.id).append('<option selected value="'+ ch.string1 +'">'+ ch.string1 +'</option>');
} else {
$('#'+el.id).append('<option value="'+ ch.string1 +'">'+ ch.string1 +'</option>');
};
};
},

function (serverResponse) {
alert(serverResponse.message);

}

);
};

随后调用 fieldChangeHandler通过<select> onchange事件请调用fieldUpdate加载表单上的方法:

        function fieldChangeHandler(event) {
console.log("%s=%s", event.srcElement.id, event.target.value);
myForm.fieldUpdate(event.srcElement.id, event.target.value);

}

这一切都工作正常,直到我尝试保存当前表单记录。

function saveHandler() {
myForm.saveRow(
0,
function(){
console.log("Row Saved.");
},
function(serverResponse){
console.log("%j", serverResponse);
});
}

我得到以下输出:

Object {type: "error", ...}
code:"stop"
fatal:false
form:Object
message:"Status missing."
type:"error"
__proto__:Object

如何覆盖 saveRow函数使其从 <select> 检索数据请控制?

最佳答案

您必须在choose 参数中指定当前值。当我(错误)阅读文档时,它不会从当前记录中读取它..

Note: If the field currently cotains a value, it will automatically be 
filled in as fieldValue, even if a different fieldValue was specified.

因此,fill 函数应该如下所示...

function fill(el, sel){
myForm.choose(el.id, sel).then(

...

};

关于javascript - 优先级-web-sdk : Implementing a choose-field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44734620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com