J'ai travaillé sur une boîte d'alerte personnalisée qui a le même style que le reste du site Web via jquery-ui. Cela fonctionnait bien, sauf qu'il ne s'ouvrirait pas plus d'une fois. Comme je tentais de résoudre ce problème, je me suis cassé la chose d'une façon, et maintenant je reçois cette erreur:Problèmes avec la boîte d'alerte personnalisée via la boîte de dialogue jqueryid
Node cannot be inserted at the specified point in the hierarchy" code: "3
est sous le code. doAlert() est un remplacement simple pour alert(). Plus tard, il aura plus de fonctionnalités. show_support() crée une boîte de dialogue de la même manière que doAlert(), sauf qu'elle fonctionne parfaitement.
function doAlert(msg, title) {
var alert_box = $('body').append('<div id="alert_box" class="centered" style="padding:.5em;vertical-align:middle;display:none;"><p>' + msg + '</p></div>');
title = typeof(title) != 'undefined' ? title : 'Message';
alert_box.dialog({
modal: true,
title: title,
width: 400,
height: 150,
resizable: false,
overlay: {
opacity: 0.5,
background: 'black'
},
buttons: {
'Ok': function() {
$(this).dialog('close');
}
},
close: function() {
$(this).dialog('destroy').remove();
}
});
}
function show_support() {
var dialog = $('body').append('<div id="dialog_support" style="display:none;"></div>');
$('#dialog_support').load('/supporttracker', {action:'get_dialog'})
.dialog({
modal: true,
title: "Support",
width: 620,
height: 400,
buttons: {
"Send": function() {
if (!$('#issue_message').val()) {
doAlert('Your message cannot be blank. Please enter your message.');
return;
}
$.ajax({
type: 'POST',
url: '/supporttracker',
data: 'action=add_simple&'+$('#issue').serialize(),
success: function(msg){
doAlert('Thank you. We will get to your question/issue as soon as we can. Usualy within 24 hours.');
$('#dialog_support').dialog('close');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
doAlert('An error accured: '+textStatus);
}
});
},
"Cancel": function() {$(this).dialog('close');}
},
close: function() {
$(this).remove();
}
});
}
Quelqu'un at-il une idée de comment j'ai foiré doAlert?