【发布时间】:2020-05-15 12:09:30
【问题描述】:
这是我的第一个 (javascript) 开发,所以我一无所知。我正在开发一个开箱即用的小部件,但我找不到数据到服务器的路由,因为它既灵活又复杂,所以我认为我只是将值放入 dijit 输入框。 itemId 是数据。 顺便说一句:弹出窗口小部件的输入框有一个自动分配的 id,每次打开都会增加。增量方法解决了我的问题。 不幸的是,这个问题解决不能正常工作,因为用户必须在提交表单之前点击输入框。如果没有发生,则不会存储数据。
有什么解决方法吗?或者有人可以告诉我为什么会这样吗?安全? (如果它正在工作,我想隐藏此部分)
var itemID= this._editWidget.map.itemInfo.item.id;
var textBoxNumber = this.increment();
dojo.connect(dijit.byId('dijit_form_ValidationTextBox_'+(textBoxNumber+2)), 'onChange', function () {
var inputBoxId = "dijit_form_ValidationTextBox_"+ textBoxNumber;
var mapid=dijit.byId(inputBoxId).attr("value");
var update = mapid.replace(mapid, itemID);
dojo.byId(inputBoxId).value = update;
});
increment: (function(n) {
return function() {
n += 4;
return n;
}
}(-3)),
动态html:
<div class="dijitReset dijitInputField dijitInputContainer"><input
class="dijitReset dijitInputInner" data-dojo-attach-point="textbox,focusNode"
autocomplete="off" type="text" tabindex="0" id="dijit_form_ValidationTextBox_1"
maxlength="50" aria-required="false" value="" aria-invalid="false"></div>
<input class="dijitReset dijitInputInner"
data-dojo-attach-point="textbox,focusNode"
autocomplete="off" type="text" tabindex="0"
id="dijit_form_ValidationTextBox_1"
maxlength="50" aria-required="false"
value="" aria-invalid="false">
【问题讨论】:
标签: javascript dojo inputbox