Я написал функцию Javascript, которая использует JQuery-ui. Я могу закрыть всплывающее окно с JQueryЗакрытие JQuery UI popup
$(this).dialog("close")
Но если включить его в состоянии, если, как это в коде здесь, он просто не работает. Я что-то не понимаю о том, как это ключевое слово работает в JS?
Marco
if (vars["server_url"] !== undefined)
var serverUrl = vars["server_url"];
var ODATA_ENDPOINT = "XRMServices/2011/OrganizationData.svc";
var CRMObject = new Object();
/////////////////////////////////////////////////////////////
// Specify the ODATA entity collection
var ODATA_EntityCollection = "/custom_serviceobjectSet";
var alreadyExisting = new Object;
alreadyExisting.value = "";
retrieveExistingPlacement(serverUrl, custom_name, placering.val(), alreadyExisting);
setTimeout(function() {
alert(alreadyExisting.value);
if (alreadyExisting.value === true) {
placering.addClass("ui-state-error");
updateTips("Ett ServiceObject med sån placeringen redan finns.");
}
else if (alreadyExisting.value === false)
{
//alert(ordning.val());
$("#users tbody").append("<tr>" +
"<td>" + CRMObject.custom_order + "</td>" +
"<td>" + CRMObject.custom_Placement + "</td>" +
"<td>" + CRMObject.custom_Quantity + "</td>" +
"</tr>");
var jsonEntity = window.JSON.stringify(CRMObject);
//Asynchronous AJAX function to Create a CRM record using OData
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: serverUrl + ODATA_ENDPOINT + ODATA_EntityCollection,
data: jsonEntity,
beforeSend: function(XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function(data, textStatus, XmlHttpRequest) {
var NewCRMRecordCreated = data["d"];
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(serverUrl + ODATA_ENDPOINT + ODATA_EntityCollection);
alert(errorThrown);
alert(XMLHttpRequest.responseText);
}
});
alert("OUT");
}
}, 1000);
if (alreadyExisting.value === false)
$("#dialog-form").dialog("close");
}
Большая часть этого кода не имеет никакого отношения к вашему вопросу. Выберите диалог 'id', так как' this', вероятно, не относится к нему в этом случае. – Mathletics
Я предлагаю пройти через код с помощью отладчика. –
OFFTOP: большая часть вашей логики входит внутрь 'if (bValid) {...}'. почему бы не вернуться из функции, если 'bValid' является ложным и сохранить некоторые отступы? – twil