【发布时间】:2014-05-31 08:02:31
【问题描述】:
我正在尝试使用聊天教程http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket 来解决这个问题。我正在尝试创建锚点,如果单击该锚点将转到每个用户的个人资料。问题是在对多个用户进行测试期间,链接仅指向房间中的第一个用户。我花了相当多的时间试图弄清楚这一点。 如何获得单独的可点击链接? 我正在使用带有控制器处理的链接的 CodeIgniter。我无法理解如何在这个结构中执行任何循环或 while 语句。
带有 HTML 的 JavaScript
websocket.onmessage = function(ev) {
var msg = JSON.parse(ev.data); //PHP sends Json data
var type = msg.type; //message type
var umsg = msg.message; //message text
var uname = msg.name; //user name
var ucolor = msg.color; //color
if(type == 'usermsg')
{
$('#message_box').append("<div><span class=\'user_name\' style=\'color:#'+ucolor+'\"><button type='button' class='greenButton' onclick='proceed()' id='mem_name' value='"+uname+"'>"+uname+"</button></span> : <span class=\"user_message\">"+umsg+" </span></div>" );
}`
JS函数
function proceed (button) {
var mem_name = $('#mem_name').val();
var form = document.createElement('form');
form.setAttribute('method', 'post');
form.setAttribute('action', 'member_chat');
form.style.display = 'hidden';
form.setAttribute("target", "formresult");
var hiddenField = document.createElement("input");
hiddenField.setAttribute('name', 'mem_chat');
hiddenField.setAttribute('value', mem_name)
form.appendChild(hiddenField);
document.body.appendChild(form)
form.submit();
}
【问题讨论】:
标签: javascript websocket chat