Wir verwenden ein inputText XPages-Steuerelement mit Type Ahead für die automatische Vervollständigung. Wenn Sie in das Suchfeld tippen, erscheinen keine Vorschläge. Wir haben eine Liste kommagetrennter Vorschläge, die im Eigenschaftenbereich "Typ Ahead" festgelegt sind, und das Vorschlags-Trennzeichen ist ",". Wir haben auch versucht, "neue Zeile" getrennte Vorschläge zu verwenden. Mindestzeichen ist "1". Hier ist die xml für die input:XPages Typ Ahead schlägt beim Laden von Vorschlägen fehl
<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>
Mit Modus „voll“ und „teilweise“ beide ausfallen, aber mit verschiedenen Fehlern. Bei der Verwendung von „voll“, für jeden Buchstaben in das Suchfeld eingegeben haben die folgenden Fehler in der Browser-Konsole angezeigt werden (ja, sind alle diese durch einen einzigen Tastendruck verursacht):
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
Ähnlich für den Modus „teilweise“ , wird die folgende Fehlermeldung angezeigt wird jeder für den Buchstaben getippt:
'url' is null or not an object
Dieser letzte Fehler entsteht in dojo.js (minimierte Version mit Lotus Notes verwendet 8.5.3, Zeile 14, 84996 Zeichen). Wir sind nicht sicher, welche Version von dojo das ist, weil es nicht im minimierten Skript angegeben ist, aber wir denken, Version 1.6.1 ist ungefähr die richtige Version. Wir haben den Code isoliert, die den Fehler verursacht:
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;
}
};
Es ist ioArgs.url += ...
, die den Fehler verursacht.
Der generierte Markup für das input sieht wie folgt aus:
<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>
Irgendwelche Vorschläge (pun intended) wäre sehr dankbar!
Hit F12 und sucht den Netzwerkverkehr, dann überprüfen, was url/Nachfrage verursacht Fehler 404. –
und Check Warum erhalten Sie eine Fehlermeldung über dijit.form.ComboBox. Haben Sie eine ComboBox auf der gleichen Seite, die fehlschlägt? Versuchen Sie, diese ComboBox aus der XPage zu entfernen und zu sehen, was passiert. –
@FrantisekKossuth Die Anfrage, die den Fehler verursacht, ist (mit anonymisierten Server- und Datenbanknamen): http: // .com/ .nsf/undefined. –