Hallo,
Wie kann ich location in einem Dialog öffnen und auf der aktuellen Seite bleiben?
Ich habe folgendes Code:
ExecuteOrDelayUntilScriptLoaded(Initialize, „SP.js“);
var site;
var context;
var list;
String.prototype.format = function () {
var args = arguments;
return this.replace(/{(\d+)}/g, function (match, number) {
return typeof args[number] != ‚undefined‘
? args[number]
: match
;
});
};
function queryItems(term, response) {
context = SP.ClientContext.get_current();
web = context.get_web();
list = web.get_lists().getByTitle(targetList);
context.load(web);
context.load(list);
var CamlQuery = new SP.CamlQuery();
CamlQuery.set_viewXml(„10“ + camlQuery.format(term) + „“);
items = list.getItems(CamlQuery);
context.load(items, „Include(“ + displayFields + „)“);
context.executeQueryAsync(Function.createDelegate(this, success), Function.createDelegate(this, this.Failed));
function success(sender, args) {
var itemEnumerator = items.getEnumerator();
var listBaseType = list.get_baseType();
results = new Array();
var i = 0;
while (itemEnumerator.moveNext()) {
var item = itemEnumerator.get_current();
fieldValues = item.get_fieldValues();
results[i++] = { label: GetFieldValues(fieldValues), value: GetFieldValues(fieldValues), desc: item.get_id() };
}
response(results);
}
}
function Initialize() {
$("#tags").autocomplete({
focus: function (event, ui) {
$(’#tags’).val(ui.item.label);
return false;
},
select: function (event, ui) {
window.location = defaultDisplayFormUrl + „?ID=“ + ui.item.desc;
},
source: function (request, response) {
queryItems(request.term, response);
}
});
}
function Failed(sender, args) {
ShowStatusBarMessage(‚Unexpected Error Occurred with Search AutoComplete for Lists web part:‘, ‚Request failed! ’ + args.get_message() + ’ ’ + args.get_stackTrace());
}
function ShowStatusBarMessage(title, message) {
var statusId = SP.UI.Status.addStatus(title, message, true);
SP.UI.Status.setStatusPriColor(statusId, ‚red‘);
}
function switchText() {
if ($(this).val() == $(this).attr(‚title‘))
$(this).val(‘’).removeClass(‚exampleText‘);
else if ($.trim($(this).val()) == ‚‘)
$(this).addClass(‚exampleText‘).val($(this).attr(‚title‘));
}
$(’#tags’).each(function () {
if ($.trim($(this).val()) == ‚‘) $(this).val($(this).attr(‚title‘));
if ($(this).val() == $(this).attr(‚title‘)) $(this).addClass(‚exampleText‘);
}).focus(switchText).blur(switchText);
// Custom String.format for JQuery
String.format = function () {
var s = arguments[0];
for (var i = 0; i
Ich habe auf meiner Seite einen Textinput. Ich tippe in dem Textinput ein Wort, unten erscheinen Vorschläge und dann, wenn ich auf einen der Vorschläge mit enter oder drauf clicke, dann öffnet sich im aktuellen Fenster folgender Link :
window.location = defaultDisplayFormUrl + „?ID=“ + ui.item.desc;
Wie kann ich den Code so ändern, dass beim event der Link window.location = defaultDisplayFormUrl + „?ID=“ + ui.item.desc; in einem ModalDialog sich öffnet und auf der aktuellen Seite bleibt?
Für jede Hilfe/Tipp/Rat bin ich dankbar!