PHP и модальное окно Bootstrap

function send(dataToSend)
{
$.ajax({type: "GET",url: "mail.php?"+dataToSend,data: $("#myModal").serialize(),success: function(response) {alert (response); //просто так, для отладки$("#subject").html(response[0]);
$("#message").html(response[1]);
$("#myModalLabel").show();
}
});
}
Так сразу не видно полной картины.
1. А где в модальном окне заданы id="message", id="subject"?
2. Тебе нужно вытащить эти сообщения из данных. А данные от сервера приходят в виде текста, так как у тебя отправляется сам шаблон mail.tpl
3. Что находится в response[0] и response[1]?
 
  • Автор темы
  • Заблокирован
  • #12
3. Что находится в response[0] и response[1]?

находится массив из PHP
PHP:
$smarty_arr['subject'] = $subject;
$smarty_arr['message'] = $message;

$smarty->assign("smarty_arr", $smarty_arr); //смысл в том, чтобы не делать assign каждый раз, а только один передав сразу массив данных
    $template_output = $smarty->fetch("mail.tpl");
    echo $template_output;
    echo $array[$subject, $message];
    return 1;

1. А где в модальном окне заданы id="message", id="subject"?

там id="message", id="subject" по идеи и не нужны, мы ведь выводим переменные $subject и $message из PHP по AJAX


2. Тебе нужно вытащить эти сообщения из данных. А данные от сервера приходят в виде текста, так как у тебя отправляется сам шаблон mail.tpl

а как это можно реализовать?
 
Попробуй так:
PHP:
function send(dataToSend)
{
$.ajax({
    type: "GET",
    url: "mail.php?"+dataToSend,
    data: $("#myModal").serialize(),
    success: function(response){
    alert (response); //просто так, для отладки
    var elsub = response.getElementById('myModalLabel');
    var subject = elsub.firstChild.nodeValue;
    var div = response.getElementsByTagName('div');
    if(div.length > 0){
        for (var i = 1; i < div.length; i++) {
            if(div[i].className == 'modal-body')
                var message = div[i].firstChild.nodeValue;
        }
    }
   $(".modal-title").html(subject);
   $(".modal-body").html(message);
   $("#myModalLabel").show();
}
});
}
 
Проверьте CSS и DOM с вариантом без AJAX оно у вас может быть там, но скрыто. Чудес ведь не бывает как известно. Firebug в помощь.
 
  • Автор темы
  • Заблокирован
  • #15
я уже все сделал, спасибо всем большое за то что пытались помочь)))
 
Назад
Сверху