Chúng tôi đang sử dụng kiểm soát XP của inputText với Loại Ahead để tự động hoàn thành. Khi nhập vào trường tìm kiếm, không có đề xuất nào xuất hiện. Chúng tôi có một danh sách các đề xuất được phân cách bằng dấu phẩy được đặt trong ngăn Thuộc tính loại trước và dấu tách đề xuất là ",". Chúng tôi cũng đã thử sử dụng các đề xuất "dòng mới". Các ký tự tối thiểu là "1". Đây là xml cho inputText:XPages Loại Không thành công khi đang tải đề xuất
<xp:inputText id="inputText2">
<xp:typeAhead mode="partial" minChars="1" ignoreCase="true" valueListSeparator=",">
<xp:this.valueList><![CDATA[Homer,Marge,Bart,Lisa,Maggie]]></xp:this.valueList>
</xp:typeAhead>
</xp:inputText>
Sử dụng chế độ "đầy đủ" và "một phần" cả hai đều không thành công, nhưng có lỗi khác nhau. Khi sử dụng "đầy đủ", cho mỗi chữ cái gõ vào trường tìm kiếm các lỗi sau đây xuất hiện trong trình duyệt giao diện điều khiển (có, tất cả trong số này được gây ra bởi một phím bấm duy nhất):
Error: Unable to load undefined status:404
dijit.form.ComboBox: Error: Unable to load undefined status:404
Error: Unable to load undefined status:404
Error: Unable to load undefined status:404
Error: Unable to load undefined status:404
Tương tự như vậy đối với chế độ "một phần" , thông báo lỗi sau xuất hiện cho mỗi chữ được nhập:
'url' is null or not an object
Lỗi cuối cùng này bắt nguồn từ dojo.js (phiên bản rút gọn được sử dụng với Lotus Notes 8.5.3, dòng 14, ký tự 84996). Chúng tôi không chắc chắn phiên bản của dojo này là gì, bởi vì nó không được nêu trong kịch bản rút gọn, nhưng chúng tôi nghĩ rằng Version 1.6.1 là khoảng phiên bản phù hợp. Chúng tôi đã phân lập mã gây ra lỗi:
dojo._ioAddQueryToUrl = function(/*dojo.__IoCallbackArgs*/ioArgs){
//summary: Adds query params discovered by the io deferred construction to the URL.
//Only use this for operations which are fundamentally GET-type operations.
if(ioArgs.query.length){
ioArgs.url += (ioArgs.url.indexOf("?") == -1 ? "?" : "&") + ioArgs.query;
ioArgs.query = null;
}
};
Đây là lỗi gây ra lỗi.
Các đánh dấu tạo cho inputText trông như thế này:
<span id="view:_id36:_id38:_id119" dojotype="ibm.xsp.widget.layout.data.TypeAheadReadStore" jsid="view__id36__id38__id119" mode="full"></span>
<div class="dijit dijitReset dijitInlineTable dijitLeft xspInputFieldEditBox dijitTextBox dijitComboBox" id="widget_view:_id36:_id38:inputText2" role="combobox" widgetid="view:_id36:_id38:inputText2">
<div class="dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer" dojoattachpoint="_buttonNode, _popupStateNode" role="presentation" style="display: none;">
<input class="dijitReset dijitInputField dijitArrowButtonInner" value="? " type="text" tabindex="-1" readonly="readonly" role="presentation">
</div>
<div class="dijitReset dijitValidationContainer">
<input class="dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value="? " type="text" tabindex="-1" readonly="readonly" role="presentation">
</div>
<div class="dijitReset dijitInputField dijitInputContainer">
<input class="dijitReset dijitInputInner" name="view:_id36:_id38:inputText2" type="text" autocomplete="off" dojoattachpoint="textbox,focusNode" role="textbox" aria-haspopup="true" id="view:_id36:_id38:inputText2" tabindex="0" value="">
</div>
</div>
Mọi góp ý (ý định chơi chữ) sẽ được đánh giá rất nhiều!
hit F12 và tìm kiếm lưu lượng mạng, sau đó kiểm tra những gì url/yêu cầu gây ra lỗi 404. –
Và kiểm tra tại sao bạn nhận được một thông báo lỗi về dijit.form.ComboBox. Bạn có một ComboBox trên cùng một trang không thành công? Hãy thử xóa ComboBox đó khỏi XPage và xem điều gì xảy ra. –
@FrantisekKossuth Yêu cầu gây ra lỗi là (với tên máy chủ và cơ sở dữ liệu ẩn danh): http: // .com/ .nsf/undefined. –