Добрый день.
Согласен, в названии вопроса можно запутаться но попытаюсь обьяснить))
Имеется вот такой скрипт Js+Jquery
var username = "";
var user = "Пользователь"
var botname = "Бот";
function send_message(conv,message){
if (conv.length > 4) {
conv = conv + "<br>";
}
$("#converse").html(conv +"<script></script><div class='message-box left-img'><div class='picture'><img src='img/a.png' title='user name'></div><div class='mes'><span class = 'current-msg'>" + "<span id='chat-bot'>" + botname + ": </span><p>" + message + "</p></span></div></div>");
$(".current-msg").hide();
$(".current-msg").delay(500).fadeIn(function() {
$(".current-msg").removeClass("current-msg");
var e = document.getElementById('converse');
e.scrollTop=e.scrollHeight
})
}
function get_username(conv){
send_message(conv,"Привет, могу ли я чем то помочь?");
}
function ai(conv,message){
// $("#send").click(function(){
$.get("get.php", {q:message}, function(data, status){
// alert("Data: " + data + "\nStatus: " + status);
send_message(conv,data);
});
console.log('Я всё');
// });
}
$(function(){
var open = false;
var conv = $("#converse").html();
get_username(conv);
$("#send").click(function(){
var usermsg = $("#textbox").val();
conv = $("#converse").html();
console.log(conv.length);
if (usermsg != "") {
$("#textbox").val("");
if (conv.length > 4) {
conv = conv + "<br>";
}
$("#converse").html(conv + "<div class='message-box right-img'><div class='picture'><img src='img/user.png' title='user name'></div><div class='mes'><span><span id='chat-user'>" + user + ": </span><p>" + usermsg + "</p></span></div></div>");
$("#converse").scrollTop($("#converse").prop("scrollHeight"));
conv = $("#converse").html();
ai(conv,usermsg);
}
});
$("#chat-button").click(function(){
$("#chat-box").animate({"right":"0px"});
});
$("#cancel").click(function(){
$("#chat-box").animate({"right":"-300px"});
});
});
document.forms.sendtext.addEventListener("submit", function (e) {
e.preventDefault();
var text = this.elements.text.value;
$("#send").click();
});
document.forms.onkeyup = function(event) { // слушаете событие onkeyup формы
if (event.keyCode == 13) { // коли enter - дёргаете вашу штатную функцию отправки
buttonOtprav2();
}
};
function buttonOtprav2() {
console.log('enter is firing');
event.preventDefault();
}
Смысл:
Вводим в input запрос, jquery запрашивает /get.php?q=Запрос и возвращает в список сообщений результат.
В get php список доступных команд и каждой команде соответствует выполнение скрипта например:
Привет => include '/script/privet.php'
Пока => include '/script/poka.php'
Всё отлично работало до тех пор пока я не стал внедрять Javascript (да и вообще html код) в privet.php и poka.php
Ну например privet.php
<?php
блаблабла
?>
<script>
alert('бла бла бла')
</script>
При прямых запросах через браузер /get.php?q=Привет и /get.php?q=Пока всё пашет нормально. Привет отрабатывает alert, а Пока отрабатывает свой скрипт
НО!
Когда пишем Привет в input (/get.php?q=Привет возращается через jquery) тоже отрабатывает, НО при обращении к следующей команде "Пока" - скрипт из предыдущего запроса продолжает отрабатываться.
И так при любых запросах в input ПОКА НЕ ПЕРЕЗАГРУЗИТСЯ СТРАНИЦА
Есть идеи ребят?...Всю голову уже поломал)