function ValidateField(){
var bAllow= true;
//some checking here
if (bAllow == true && apl.val().trim() == "")
{
showDialog();
showDialog().done(function() {
return true; // wanna return true, but not success
}).fail(function() {
return false; //wanna return false, but not success
});
return false; //stop it to execute to next line
}
return bAllow; //success return }
function showDialog(){
var def = $.Deferred();
var modPop = '<div id="diaCom" title="Information?"><p>something something</p></div>';
$("#diaCom").remove();
$(modPop).appendTo('body');
$("#diaCom").dialog({
resizable: false,
draggable: false,
height:150,
width:300,
modal: true,
buttons: {
"Ok": function() {
def.resolve();
$(this).dialog("close");
},
"Cancel": function() {
def.reject();
$(this).dialog("close");
}
}
});
return def.promise();
}
//on click
if (validateField() == true){
//do something
}else{
//do something
}
Herkese merhaba, değeri döndürme şansı var mı? ShowDialog(). Done() ile true ve false değerini döndürmek ve validatefield() işlevi için başarısız olmak istiyorum, ancak istediğim gibi çalışmaz, beklemek için yanlış bir dönüş yaptığım için bAllow'a atayamıyorum Bir sonraki satırı, herhangi bir fikir yürütmek için iletişim kutusu? Yoksa böyle yapmak doğru mu?jQuery Ertelendi ve İletişim kutusu
Sen ertelenmiş nesnenin tamamlanmasını beklemek Javascript neden mümkün olmayacaktır, bu yüzden hiçbir şekilde ne var ki 'dönüş 'sonra. Bunun nasıl düzeltileceğinden emin değilim, ama kod/mantıksal – Ian
No'yu yeniden düzenlemenin yolu olduğunu düşünüyorum, eşzamansız bir görevden eşzamanlı olarak geri dönemezsiniz. Bunun yerine, ertelenmiş geçmek! – Bergi
, başka bir işleve geçmem, n aynı işlevi yerine geçerlilik denetimi yapmak için diğer işlevi kullanmam anlamına gelir? Bana bunu yapmanın doğru bir yolu olabilir mi? global bir değişken oluşturun, defferend'e göre doğru/fase olarak ayarlayın, sonra başka bir fonksiyonda, kontrol etmek için global değişkeni kullanın, sonra bu işlev true/false değerini döndürmek için kullanılır mı?Ben hala yeni google n üzerinden arama, google n üzerinden arama yap, bu – Se0ng11