Ответы пользователя по тегу JavaScript
  • Как сделать случайный порядок в массиве?

    function shuffleArray(array) {
        for (var i = array.length - 1; i > 0; i--) {
            var j = Math.floor(Math.random() * (i + 1));
            var temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }
        return array;
    }
    
    var M = [0,1,2,3,4,5,6,7,8,9];
    M = shuffleArray(M);
    Ответ написан
    1 комментарий
  • InnerHTML + Ajax. Проблемы с сабмитом формы?

    $(function(){
    
    	$('#boxcontent').load('ajax/db_table.php',function(){
    		var frm_upd = $('#upd_db');
    		frm_upd.submit(function(){
    			$.ajax({
    				type: frm_upd.attr('method'),
    				url: frm_upd.attr('action'),
    				data: frm_upd.serialize(),
    				success: function (data) {
    					if (data == "ok"){
    						$.gritter.add({
    							text: 'Информация успешно обновлена.'
    						});
    					}else{
    						$.gritter.add({
    							text: 'Ошибка! Информация не обновлена.'
    						});
    					}
    				}
    			});
    			return false;
    		});	
    	});
    	
    });


    Вам лучше первый ajax укоротить до функции load. Отправка подгруженной формы осуществляется внутри load, так как отсутствует в изначальном DOM. Чтобы после отправки мы не переходили на другую страницу, в коце функции submit отправляем submit false;

    Либо использовать, как у вас ajax, js код отвечающий за отправку формы - поместить внутрь success:

    $(function(){
    	
    	$.ajax({
    		url: "ajax/db_table.php",
    		success: function (data) {
    			$('#boxcontent').html(data);
    		
    			var frm_upd = $('#upd_db');
    			frm_upd.submit(function(){
    				$.ajax({
    					type: frm_upd.attr('method'),
    					url: frm_upd.attr('action'),
    					data: frm_upd.serialize(),
    					success: function (data) {
    						if (data == "ok"){
    							$.gritter.add({
    								text: 'Информация успешно обновлена.'
    							});
    						}else{
    							$.gritter.add({
    								text: 'Ошибка! Информация не обновлена.'
    							});
    						}
    					}
    				});
    				return false;
    			});
    		}
    	});
    });
    Ответ написан
    Комментировать
  • В чем ошибка при реализации Comet (Long - Polling) метода?

    Не понятно, что Вам надо.
    1. Ждать 100000мс ответ сервера и если он не ответил, то заново отправлять запрос
    или
    2. Отправлять запрос с задержкой в 100000мс после получения предыдущего ответа?

    В первом случае js работает нормально - проверил.

    Возможно php не правильно отрабатывает и отдает Вам ответ в течении 0.1c. Выведите логирование, повыводите echo с разных условий.

    Во втором, надо немного переписать код:
    function getmess(){
    	$.ajax({
    		url:"get_mess.php",
    		data:{"id":id},
    		type:"GET",
    		success:function(result){
    			$("#response").html(result);
    			setTimeout('getmess',100000);
    		}
    	});
    }
    Ответ написан
    Комментировать