Эта форма кода работает, но она не вызывает форму AJAX chat_process.php
, Мне нужно позвонить в форму Ajax и предупредить сообщение.
var html = "";
for(...) {
html += '<form class="form_deletechatmessage" action="chat_process.php" method="post">';
html += '<button type="submit" class="trashchat">Delete</button>'
html += '<input type="hidden" name="task" value="chatdelete">';
html += '<input type="hidden" name="token" value="80a86781f1ab0200c17e4a39f42588e5">';
html += '<input type="hidden" name="id" value="1">';
html += '</form>';
}
$('#discussion').append(html);
$(".form_deletechatmessage").ajaxForm({
success : function(result) {
var result = trim(result);
if(result == 'success') {
alert("Success");
} else {
alert(result);
}
}
});
Весь код:
function getChatText(){
$.ajax({
dataType: 'json',
url: "chat_process.php?task=refresh&token=" + token + "&lastTimeID=" + lastTimeID,
success: function(data) {
var jsonData = JSON.parse(data);
var jsonLength = jsonData.results.length;
var html = "";
for (var i = 0; i < jsonLength; i++) {
var result = jsonData.results[i];
var ida = $("#ida").val();
var you = "";
html += '<form class="form_deletechatmessage" action="chat_process.php" method="post">';
if(ida == result.aid) {
html += '<li class="self">';
you = " (ti)"} else {
html += '<li class="other">';
}
html += '<div class="avatar"><img src="http://localhost/project/images/avatars/' + result.aid + '/' + result.avatar + '" /></div>';
html += '<div class="messages">';
html += '<button type="submit" class="trashchat" title="Izbriši poruku"><i class="fa fa-trash-o"></i></button>'
html += '<p><font style="font-weight: 600; color: ' + result.color + '">' + result.name + you + '</font> kaže:</p>';
html += '<p>' + result.chattext + '</p>';
html += '</div>';
html += '</li>';
html += '<input type="hidden" name="task" value="chatdelete">';
html += '<input type="hidden" name="token" value="' + token + '">';
html += '<input type="hidden" name="id" value="' + result.id + '">';
html += '</form>';
lastAdminID = result.aid;
lastTimeID = result.id;
}
if(html != "" && lastTimeID != 0) {
$('.discussion').append(html);
var objDiv = $(".discussion");
objDiv.scrollTop = objDiv.scrollHeight;
if(ida != result.aid) {
audioElement.play();
$.titleAlert("Imate novu poruku!", {
requireBlur: false,
stopOnFocus: true,
stopOnMouseMove: true,
interval: 700
});
}
}
},
});
}
Возможно, ваш ajax-вызов не удался, и кажется, что вы ожидаете ошибку в блоке успеха:
if(result == 'success') {
alert("Success");
} else {
alert(result);
}
Вы должны ожидать ошибку в блоке ошибок, а не в блоке успеха:
$(".form_deletechatmessage").ajaxForm({
success : function(result) {
alert(result)
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus + errorThrown);
}
});
Других решений пока нет …