1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Socket.io</title>
<link rel="stylesheet" type="text/css" href="https://bootswatch.com/4/lux/bootstrap.min.css">
<link rel="stylesheet" style="text/css" href="page.css" />
<title>Bootstrap Example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarColor02">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search">
<button class="btn btn-secondary my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-sm-4" >
<div id="texto"></div>
</div>
<div class="col-sm-4" id="tchat">
<form action="" id="loginform">
<input type="text" name="iduser" id="iduser"/>
<input type="submit" value="Join" id="join"/>
</form>
<div style="position:absolute; background-color: purple;">
<form action="#" id="chatforms">
<label>TO: </label><br />
<input type=text name="username" id="username" />
<div style="border:1px solid blue; background-color: silver; color: black; width: 150px;border-radius: 5px;" id="messages" ></div>
<label></label>
<input type="text" size="25" id="message" placeholder="Enter message" name="email">
<button type="submit" class="btn btn-success" >Send <span class="badge"></span></button>
</form>
</div>
</div>
<div class="col-sm-4">
<h3>Column 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris...</p>
</div>
</div>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var usercount = 1;
$('#chatforms').hide(); // à l'ouverture de la page je cache le formulaire d'envoie de message
$('#texto').hide(); // à l'ouverture de la page je cache les utilisateurs connectés
var socket = io.connect('http://localhost:8080');
var userid;
socket.on('add-message', function(data) {
insereMessage(data[1],data[0].message);
$('#chatforms').show();
})
$('#loginform').submit(function(event){
userid=$('#iduser').val();
if(userid == '')
{
alert("veuillez donner votre pseudo");
}
else
{
$('#chatforms').hide();
$('#texto').show();
$( "#iduser" ).prop( "disabled", true );
$( "#join" ).prop( "disabled", true );
socket.emit("add-user", {username: userid});
return false;
}});
$('#chatforms').submit(function(event){
var messages =$('#message').val();
var usernames=$('#username').val();
alert("utilisateur est :" +usernames+ "messages est :"+messages);
insereMessage(userid,messages);
socket.emit("private-message", {usernames: usernames, message: messages});
return false;
});
function insereMessage(pseudo, message)
{
var montext = document.getElementById("messages");
montext.innerHTML += "<p><strong style='color:blue;'>"+ pseudo+":</strong> "+message+"</p>";
}
function inserUser(pseudo)
{
document.getElementById('texto').innerHTML += "<a href='#'id='us"+usercount+"'>"+pseudo+"</a> <br>";
usercount++;
}
socket.on('allo',function(data){
inserUser(data);
})
$(document).on("click","a", function () {
var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id
alert(clickedBtnID);
var valeur = document.getElementById(clickedBtnID).innerHTML;
var unId = $("#us1").val();
alert(unId+"fffff");
alert(valeur);
document.getElementById("username").value=valeur;
$("#chatforms").show();
})
</script>
</body>
</html> |
Partager