![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 09:13
|
Аспирант
|
|
Регистрация: 01.03.2014
Сообщений: 53
|
|
Как сделать таймер
привет. Есть код
var nameVal = $( "#nameInput" ).val();
var msg = $( "#messageInput" ).val();
var canalVal = $( "#canalInput" ).val();
if((nameVal) && (msg)){
socket.emit( 'message', { name: nameVal, message: msg, canal: canalVal } )
};
Мне надо, чтобы эта строчка
socket.emit( 'message', { name: nameVal, message: msg, canal: canalVal } )
выполнялась не чаще 3000мс. Как сделать? Спасибо
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:15
|
![Аватар для kotamirov](https://javascript.ru/forum/image.php?u=33678&dateline=1393788194) |
Аспирант
|
|
Регистрация: 28.02.2014
Сообщений: 45
|
|
setInterval(function(){message();} , 3000);
var message = function(){
var nameVal = $( "#nameInput" ).val();
var msg = $( "#messageInput" ).val();
var canalVal = $( "#canalInput" ).val();
if((nameVal) && (msg)){
socket.emit( 'message', { name: nameVal, message: msg, canal: canalVal } )
};
};
setInterval - repeated eatch 3000ms))
можно так попробовать.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:36
|
![Аватар для рони](https://javascript.ru/forum/image.php?u=7416&dateline=1372796129) |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,135
|
|
ruslite,
var nameVal = $("#nameInput").val();
var msg = $("#messageInput").val();
var canalVal = $("#canalInput").val();
flag = true;
if (nameVal && msg && flag) {
flag = false;
window.setTimeout(function () {
flag = true
}, 3000)
socket.emit('message', {
name: nameVal,
message: msg,
canal: canalVal
})
};
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:38
|
Аспирант
|
|
Регистрация: 01.03.2014
Сообщений: 53
|
|
Сообщение от kotamirov
|
setInterval(function(){message();} , 3000);
var message = function(){
var nameVal = $( "#nameInput" ).val();
var msg = $( "#messageInput" ).val();
var canalVal = $( "#canalInput" ).val();
if((nameVal) && (msg)){
socket.emit( 'message', { name: nameVal, message: msg, canal: canalVal } )
};
};
setInterval - repeated eatch 3000ms))
можно так попробовать.
|
заменил свой код на ваш и перекидывает на основную страницу сайта. значит где-ошибка у вас.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:42
|
Аспирант
|
|
Регистрация: 01.03.2014
Сообщений: 53
|
|
Сообщение от рони
|
ruslite,
var nameVal = $("#nameInput").val();
var msg = $("#messageInput").val();
var canalVal = $("#canalInput").val();
flag = true;
if (nameVal && msg && flag) {
flag = false;
window.setTimeout(function () {
flag = true
}, 3000)
socket.emit('message', {
name: nameVal,
message: msg,
canal: canalVal
})
};
|
не срабатывает. вот весь код, может я не так думаю
var socket = io.connect( 'http://localhost:8080' );
$( "#messageForm" ).submit( function() {
var nameVal = $( "#nameInput" ).val();
var msg = $( "#messageInput" ).val();
var canalVal = $( "#canalInput" ).val();
if(nameVal && msg){
socket.emit( 'message', { name: nameVal, message: msg, canal: canalVal } )
};
// Ajax call for saving datas
$.ajax({
url: "./ajax/insertNewMessage.php",
type: "POST",
data: { name: nameVal, message: msg, canal: canalVal },
success: function(data) {
}
});
return false;
});
socket.on( 'message', function( data ) {
var actualContent = $( "#messages" ).html();
var newMsgContent = '<li> <strong>' + data.name + '</strong> : ' + data.message
.replace(new RegExp("&#D83DDE04",'gi'),"<img src='../packs/basic/D83DDE04.png' height='21' width='21'>")
.replace(new RegExp("&#D83DDC8A",'gi'),"<img src='../packs/basic/D83DDC8A.png' height='21' width='21'>") + '</li>';
var content = newMsgContent + actualContent;
$( "#messages" ).html( content );
});
Последний раз редактировалось ruslite, 08.03.2014 в 10:44.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:49
|
![Аватар для рони](https://javascript.ru/forum/image.php?u=7416&dateline=1372796129) |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,135
|
|
ruslite,
и где в вашем коде то что я добавил?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:52
|
Аспирант
|
|
Регистрация: 01.03.2014
Сообщений: 53
|
|
Сообщение от рони
|
ruslite,
и где в вашем коде то что я добавил?
|
это я в изначальном виде скинул. вот с вашим
var socket = io.connect( 'http://localhost:8080' );
$( "#messageForm" ).submit( function() {
var nameVal = $("#nameInput").val();
msg = $("#messageInput").val();
var canalVal = $("#canalInput").val();
flag = true;
if (nameVal && msg && flag) {
flag = false;
window.setTimeout(function () {
flag = true
}, 3000)
socket.emit('message', {
name: nameVal,
message: msg,
canal: canalVal
})
};
// Ajax call for saving datas
$.ajax({
url: "./ajax/insertNewMessage.php",
type: "POST",
data: { name: nameVal, message: msg, canal: canalVal },
success: function(data) {
}
});
return false;
});
socket.on( 'message', function( data ) {
var actualContent = $( "#messages" ).html();
var newMsgContent = '<li> <strong>' + data.name + '</strong> : ' + data.message
.replace(new RegExp("&#D83DDE04",'gi'),"<img src='../packs/basic/D83DDE04.png' height='21' width='21'>")
.replace(new RegExp("&#D83DDC8A",'gi'),"<img src='../packs/basic/D83DDC8A.png' height='21' width='21'>") + '</li>';
var content = newMsgContent + actualContent;
$( "#messages" ).html( content );
});
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:53
|
Аспирант
|
|
Регистрация: 01.03.2014
Сообщений: 53
|
|
может реализовать на странице где форма сама. функцию, которая будет запрещать отправлять форму не чаще 3 сек?
вот сама форма
<div class="example">
<form class="form-inline" id="messageForm">
<input id="nameInput" type="hidden" class="input-medium" value="<?php echo $log_username;?>" />
<input id="canalInput" type="hidden" class="input-medium" value="<?php echo $name;?>" />
<div id="messageInput" name="messageInput1" placeHolder="Ваше сообщение"></div>
<input type="submit" value="Отправить" onclick="$('.emoji-wysiwyg-editor').html('')"/>
</form>
</div>
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 10:58
|
![Аватар для рони](https://javascript.ru/forum/image.php?u=7416&dateline=1372796129) |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,135
|
|
ruslite,
могу только гадать может 17 строка должна стоять в 29
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
08.03.2014, 11:08
|
Аспирант
|
|
Регистрация: 01.03.2014
Сообщений: 53
|
|
Сообщение от рони
|
ruslite,
могу только гадать может 17 строка должна стоять в 29
|
нет, не хочет к сожалению. А может реализовать, чтобы форму нельзя было отправлять чаше 3 сек? Как это можно сделать?
|
|
|
|