2015-04-05 51 views
1

我开发的带有bootstrap 3选项卡的消息系统(bs3标签信息:http://getbootstrap....nents/#nav-tabs) 当然,我正在使用它的垂直风格。所以有以下;BS3只是一个标签工作,为什么?

my message system

我只是发送给穆斯塔法员 '我不能送爱丽丝成员'。 此页面的设计在左侧(如此tab标题)之前获取php列表到邮件标题(使用MySQL DISTINCT)。然后让相同的代码获取消息。

所有这些页面的代码我联系paste.bin:http://pastebin.com/ekqf7dL9

的黄色按钮,(故有“提交按钮”)我的要求张贴的jquery与AJAX到PHP文件。有它的代码;

<button m_isim="<?php echo $_SESSION['uyeIsim'];?>" m_atan="<?php echo $_SESSION['uyeId'];?>" m_alan="<?php echo $msjGelenUye['mesaj_alan_id'];?>" class="btn btn-warning btn-sm" id="btn-chat">Gönder</button> 

关于可变

$_SESSION['uyeIsim'] -> user name 
$msjGelenUye['mesaj_alan_id'] -> user reciever 
m_atan -> transmitter 

jQuery的后置码下列信息;

$("#btn-chat").click(function(event){ 
    var msjGonderenData = { 
     "mesaj_atan_id" : $(this).attr('m_atan'), //user transmitter 
     "mesaj_alan_id" : $(this).attr('m_alan'), //user receiver 
     "mesaj"   : $("#btn-chat-input").val() //message content 
    }; 

    var msjAtanIsim = $(this).attr('m_isim'); //transmitter name 

    //alert(msjGonderenData['mesaj']); //just control, This is "Mustafa" working but "Alican" doesn't work 

    $.ajax({ 
     type  :"POST", 
     url   :"inc/request/msjGonder.post.php", 
     data  :msjGonderenData, 
     success  :function(cvp){ 
      if(cvp != "1"){ 
       $(".postCevap").html(cvp); 
      }else{ 
       //add current message list sent message 
       $("ul#"+msjGonderenData['mesaj_alan_id']+".chat").append("<li class=\"right clearfix\"><span class=\"chat-img pull-right\"><img src=\"http://placehold.it/50/FA6F57/fff&text="+msjAtanIsim+"\" alt=\"\" /></span><div class=\"chat-body clearfix\"><div class=\"header\"><small class=\"text-muted\"><span class=\"glyphicon glyphicon-time\"></span>&nbsp;Şimdi</small><strong class=\"pull-right primary-font\">"+msjAtanIsim+"</strong></div><p>"+msjGonderenData['mesaj']+"</p></div></li>"); 
      } 
     } 
    }); 
}); 

msjGonder.post.php下面的代码;

<?php 

include '../db.connect.php'; 
//bootstrapAlertBox 
$msj_atan = $_POST['mesaj_atan_id']; //transmitter 
$msj_alan = $_POST['mesaj_alan_id']; //reciever 
$msj = $_POST['mesaj']; 

if(!isset($msj)){ 
    echo bootstrapAlertBox("info","<b>Boş</b> mesaj gönderemezsiniz !"); 
}else{ 
    try{ 
     $mdb->insert("mesaj",array(
      'mesaj_atan_id' => $msj_atan, 
      'mesaj_alan_id' => $msj_alan, 
      'mesaj' => $msj, 
      'tarih' => getDateTime(), 
      'ip' => getIP() 
     )); 
     echo "1"; 
    }catch(Exception $e){ 
     echo bootstrapAlertBox("danger","<b>Bilinmedik Hata: <u>".$e->getMessage()."</u> Lütfen tekrar deneyin.</b>"); 
    } 
} 
?> 

如何解决这个问题? 感谢您的关注。

最好的问候..

新增为(@Franky)

嗯,我想明白。首先我的代码转换为HTML非标准 例如(所以我数据 -之前添加的属性),m_isim -> data-m-isim

其次,我删除重复每ID属性。在这些操作之后,第一个和第二个标签可以请求POST。

我觉得我的确有些错误。我不认识他们。因为我没有找到:/(我写的是什么有趣的代码?) 第二个标签发布但数据添加了第一个标签里面(都是空的,并添加了第一个标签id添加的数据库)。聊天列表标记是ul我将其转换为此;

<ul class="chat"> - ><ul class="chat" data-code="r21>">,r21; r是恒定的,21号是用户接收器ID(来自db)

我不能解决这个问题。 jQuery最后的代码如下;

var mesajAlanId = $("span.input-group-btn button").data('m-alan'); 

$("span.input-group-btn").click(function(event){ 
    var msjGonderenData = { 
     "mesaj_atan_id" : $(".receiver-"+mesajAlanId).data('m-atan'), //user transmitter 
     "mesaj_alan_id" : $(".receiver-"+mesajAlanId).data('m-alan'), //user receiver 
     "mesaj"   : $("input[data-receiver-text=\""+mesajAlanId+"\"]").val() //message content alan_id 
    }; 

    var msjAtanIsim = $(".receiver-"+mesajAlanId).data('m-isim'); //transmitter name 

    alert(msjGonderenData.mesaj); 

    $.ajax({ 
     type  :"POST", 
     url   :"inc/request/msjGonder.post.php", 
     data  :msjGonderenData, 
     success  :function(cvp){ 
      $(':input','.input-group').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected'); 
      if(cvp != "1"){ 
       $(".postCevap-"+mesajAlanId).html(cvp); 
      }else{ 
       //add current message list sent message 
       //msjGonderenData.mesaj_alan_id 
       $("ul.chat[data-code='r"+msjGonderenData.mesaj_alan_id+"']").append("<li class=\"right clearfix\"><span class=\"chat-img pull-right\"><img src=\"http://placehold.it/50/FA6F57/fff&text="+msjAtanIsim+"\" alt=\"\" /></span><div class=\"chat-body clearfix\"><div class=\"header\"><small class=\"text-muted\"><span class=\"glyphicon glyphicon-time\"></span>&nbsp;Şimdi</small><strong class=\"pull-right primary-font\">"+msjAtanIsim+"</strong></div><p>"+msjGonderenData.mesaj+"</p></div></li>"); 
      } 
     } 
    }); 
}); 

更新了生命代码; http://famousbook.org/beta-test123321

用户名:fatihmert

密码:sanane123,并刷新你这么做的时候登录页面。右上角,收件箱>查看全部。

+0

什么部分是不工作..?你在哪里特别面临这个问题。 – 2015-04-05 09:38:38

+0

@Franky,其实我的代码没有问题。但只需在** Mustafa **标签下使用提交按钮(如此黄色按钮)即可。 (我在谈论jQuery)。 **穆斯塔法**标签标题不适用于外部。 (。所以只是第一个标签工作第二,第三,...,NRD标签不工作) – 2015-04-05 10:24:12

+0

我抓的视频上传到YouTube:https://www.youtube.com/watch?v=Tx3EYPpWtho – 2015-04-06 19:41:42

回答

2

问题是与你的HTML代码

下面是Mustafa的HTML。

<div class="panel-footer"> 
    <div class="input-group"> 
     <input type="text" placeholder="Yasla gitsin..." class="form-control input-sm" id="btn-chat-input"> 
     <span class="input-group-btn"> 
     <button id="btn-chat" class="btn btn-warning btn-sm" m_alan="31" m_atan="18" m_isim="fatihmert">Gönder</button> 
     </span> 
    </div> 
    <div class="postCevap"></div> 
</div> 

Html对于Alican

<div class="panel-footer"> 
    <div class="input-group"> 
     <input type="text" placeholder="Yasla gitsin..." class="form-control input-sm" id="btn-chat-input"> 
    <span class="input-group-btn"> 
     <button id="btn-chat" class="btn btn-warning btn-sm" m_alan="21" m_atan="18" m_isim="fatihmert">Gönder</button> 
    </span> 
    </div> 
    <div class="postCevap"></div> 
</div> 

按钮和输入字段具有相同id这是不正确的。这就是为什么你的代码不工作。请使用class来更好地兼容代码。

注意:避免使用m_alanm_atanm_isimHtml标签中存储数据使用标准data-m-alandata-m-isim & & data-m-atan相反。

+0

我不知道这些。谢谢@Frankly,现在它可以做POST。但是有一个错误。我的问题和实时代码已更新。最后你能看到它吗? – 2015-04-09 06:17:57

+0

信仰请删除您所做的修改,并为它提出一个新问题。它像上一个问题一样混乱。并接受答案,以便像你这样的其他人可以得到帮助。我会检查你的应用程序。 – 2015-04-09 06:28:39

+0

取消编辑你的问题,并要求一个新的@Faith我想我发现了这个问题,还有一些重大问题需要先解决,然后再继续前进。 – 2015-04-09 06:47:59

相关问题