1. JavaScript / Говнокод #18034

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    function ValidateSignupData()
    {
        var username = $('#signup-name').val();
        var password = $('#signup-password').val();
        var password_confirm = $('#signup-password-confirmation').val();
        var email = $('#signup-email').val();
        var type_payment = $('#signup-payment').val();
        var card_numb = $('#signup-numb').val();
    
        if(username.length()>0) {
            if(password.length()>0) {
                if(password_confirm.length()>0) {
                    if (password == password_confirm) {
                        if(card_numb.length()>0 && card_numb.length()<14) {
                        }
                        else {
                            $('#message-signup').text('Поле "Номер карты" слишком короткое');
                        }
                    }
                    else {
                        $('#message-signup').text('Пароли не совпадают');
                    }
                }
                else
                {
                    $('#message-signup').text('Поле "Подтверждение пароля" не заполнено');
                }
        }
        else 
            {
            $('#message-signup').text('Поле "Пароль" не заполнено');
        }
        }
        else {
            $('#message-signup').text('Поле "Имя" не заполнено');
        }
    }

    Простейшая валидация формы.

    qstd, 21 Апреля 2015

    Комментарии (2)
  2. JavaScript / Говнокод #17998

    +165

    1. 1
    2. 2
    3. 3
    <% var telString = data.phone.toString(); %>
    <p class="mb0">Phone: <a class="mb0" itemprop="telephone" rel="dofollow"><%= "("+telString[0]+telString[1]+telString[2]+") "+telString[3]+telString[4]+telString[5]+"-"+telString[6]+telString[7]+telString[8]+telString[9] %></a></p>
    <% } %>

    data.phone - телефон в виде "0951112222".
    Нужно привести к виду (095)111-2222.

    vetal, 15 Апреля 2015

    Комментарии (48)
  3. JavaScript / Говнокод #17996

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    $(function() {
    	// Калькулятор
    	function calculate(el,btn){
    
    		// Запоминаем данные
    		//-----------------------------------------------------------------------------------------------------------------									
    		var priceAtribut = 'data-val';			// Атрибут с ценами у блоков
    		var cartTotal = $('.total_price p');	// Елемент
    		
    		var elem = {
    			parentModule 	   : $(el).parents('cart'),						// Родительский блок корзины
    			btn         	   : $(btn),									// Текущая кнопка которая была нажата
    			inpt        	   : $(el).find('.input-counts'),				// Инпут с колличеством
    			priceBase    	   : $(el).find('.string-elem-price-base'),		// Базовая цена товара
    			priceTotal         : $(el).find('.string-elem-price-total')		// Общая сумма товара
    		};
    
    		//функция: проверка колличества товаров, если к-во = 0, прекращаем работу скрипта
    		//-----------------------------------------------------------------------------------------------------------------
    		(function checkCounts () {
    			var thisCounts = (elem.inpt.val() - 0) + (elem.btn.attr(priceAtribut) - 0);
    			if(thisCounts != 0) {goCheck(thisCounts)}
    		}());
    
    		//функция: Калькуляции и пересчета!
    		//-----------------------------------------------------------------------------------------------------------------
    		function goCheck (counts) {
    
    			// Запись колличества в инпут текущего товара
    			elem.inpt.val(counts);				
    			// Запись общей суммы текущего товара, исходя из количества 												
    			elem.priceTotal.html( counts * (elem.priceBase.attr(priceAtribut) - 0) );	
    			// Запись общей суммы текущего товара, исходя из количества в атрибут datavalue	
    			elem.priceTotal.attr( priceAtribut, counts * (elem.priceBase.attr(priceAtribut) - 0) ); 
    
    			checkTotalSumm();		
    		}
    
    		// Функция которая делает общий пересчет общей суммы каждого товара, и записывает результат.
    		//-----------------------------------------------------------------------------------------------------------------
    		function checkTotalSumm () {
    			var totalSumm = 0;	
    			$('.'+elem.priceTotal.attr('class')).each(function(){
    				totalSumm += $(this).attr(priceAtribut) - 0;
    				
    			});
    			cartTotal.html(totalSumm);
    		}
    	}
    
    	// Запуск функции калькулятора
    	$('.number button').click(function() {
    		calculate($(this).parents('.item'),this);
    	});
    });

    Я только начинаю углубляться в JS, хотелось бы узнать мнение профи, насколько это говнокод!

    0whitewolf0, 15 Апреля 2015

    Комментарии (23)
  4. JavaScript / Говнокод #17994

    +173

    1. 1
    2. 2
    3. 3
    //flag ? flag=false : flag=true;
    //оптимизировал
    flag = flag == false? true : false;

    Тогл флага

    wertixvost, 14 Апреля 2015

    Комментарии (13)
  5. JavaScript / Говнокод #17993

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <button type="button" title="<?=GetMessage("Detail")?>" class="button btn-detail" onclick="setLocation('<?=$arElement["DETAIL_PAGE_URL"]?>')">
         <span>
            <span><?=GetMessage("Detail")?></span>
        </span>
     </button>

    Битрикс. К вопросу о том, почему не стоит покупать готовые шаблоны.

    Serko1989, 14 Апреля 2015

    Комментарии (24)
  6. JavaScript / Говнокод #17992

    +162

    1. 1
    <div onclick="selectHoveer($('#type_tr2'));">

    Учитесь щенки как передавать элементы в функцию

    gam0ra, 14 Апреля 2015

    Комментарии (10)
  7. JavaScript / Говнокод #17976

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    // Блок "Наши партнеры"
    if ($('#our_partners_links2').length) {
      if ($('#our_partners_links2').html().match(/^\s*<\!\-\-[^<>]*\-\->\s*$/)) $('#our_partners_links1').hide();
    };

    Парсим собственный DOM регулярками. http://www.gay.ru/misc/js/gay/init_main.js

    Stallman, 11 Апреля 2015

    Комментарии (7)
  8. JavaScript / Говнокод #17966

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    function initAnnounce(srcUrl)
    {
        
            announceIdAr   [1-1] = 1;
            announceFNameAr[1-1] = "image1_1.gif";
            announceUrlAr  [1-1] = "2-2&am=1&qn=35";
            announceTextAr [1-1] = "Бывает ли Президенту скучно?";
        
            announceIdAr   [2-1] = 2;
            announceFNameAr[2-1] = "image1_2.gif";
            announceUrlAr  [2-1] = "2-2&am=1&qn=16";
            announceTextAr [2-1] = "В чем Президент не виноват?";
    
    // еще говно
        
            announceIdAr   [13-1] = 13;
            announceFNameAr[13-1] = "image1_13.gif";
            announceUrlAr  [13-1] = "5-6";
            announceTextAr [13-1] = "День Победы";
        
        
        var announcesNumber = announceIdAr.length;
        //alert(announcesNumber);
        
        var index = Math.round(Math.random() * (announcesNumber - 1));
        //alert(index);
        
    // еще дохуя алертов
        
       //выясняем, активна ли CD-версия
          var url2 = stringReplace(srcUrl, ".htm", "");
          if (url2 != srcUrl)
          {
             //активна CD-версия
             announceUrl = stringReplace(announceUrl, "&", "_");
             announceUrl = stringReplace(announceUrl, "=", "_");
          };
       // /выясняем, активна ли CD-версия
        var url = stringReplace(srcUrl, "!!!", announceUrl);

    kids.kremlin.ru

    там вообще все жорошо

    Fike, 09 Апреля 2015

    Комментарии (15)
  9. JavaScript / Говнокод #17919

    +147

    1. 1
    -

    onnanon, 02 Апреля 2015

    Комментарии (375)
  10. JavaScript / Говнокод #17905

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    var existingDates=new Array();
    existingDates[11]=new Array();
    existingDates[11][3]=[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28];
    existingDates[11][4]=[3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,28,29,30,31];
    existingDates[11][5]=[1,2,4,5,6,7,8,9,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30];
    existingDates[11][6]=[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];
    existingDates[11][7]=[1,2,3,4,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];
    existingDates[11][8]=[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];
    existingDates[11][9]=[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];
    existingDates[11][10]=[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];
    existingDates[11][11]=[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];
    /*... */
    existingDates[24][1]=[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];
    existingDates[24][2]=[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];
    existingDates[24][3]=[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];
    existingDates[24][4]=[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];
    existingDates[24][5]=[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];
    existingDates[24][6]=[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];
    existingDates[24][7]=[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];
    existingDates[24][8]=[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];
    existingDates[24][9]=[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];
    existingDates[24][10]=[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];
    existingDates[24][11]=[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];
    existingDates[25]=new Array();
    existingDates[25][0]=[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];
    existingDates[25][1]=[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];
    existingDates[25][2]=[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];
    existingDates[25][3]=[1];
    /* ... */

    Src: http://www.kommersant.ru/archive/news/77/2015-04-01

    sysctl, 01 Апреля 2015

    Комментарии (270)