Location in einem Dialog öffnen

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!

Ich bin mir zwar nicht ganz sicher, was in diesem Kontext „ModalDialog“ bedeutet, aber wenn damit ein neues Fenster gemeint ist, in dem der Link geöffnet werden soll, dann müsste das funktionieren, indem

window.location = defaultDisplayFormUrl + "?ID=" + ui.item.desc;

durch

window.open(defaultDisplayFormUrl + "?ID=" + ui.item.desc);

ersetzt wird.

P.S.: „window.location“ bezieht sich auf die im aktuellen Fenster geöffnete Seite. „window.location = HierIrgendwas“ Bewirkt also, das „HierIrgendwas“ im aktuellen Fenster geöffnet wird, während „window.open(HierIrgendwas)“ ein neues Fenster öffnet und „HierIrgendwas“ in diesem neuen Fenster öffnet, während das alte Fenster vollkommen unberührt bleibt.

P.P.S.: Sollte mit „ModalDialog“ etwas anderes gemeint sein, habe ich zumindest z.Zt. keine Lösung parat.

Alles klar!!! Danke Isendrak!!! Hat’s geklappt!!!

Vielen herzlichen Dank!!!