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

    +157

    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
    var times, source_date,
          date = "20.11.2014";
    
    if (date) {
                times = date.split('.');
    
                source_date = new Date();
                source_date.setFullYear(parseInt(times[2]));
                source_date.setMonth(parseInt(times[1]) - 1);
    
                source_date.setDate(parseInt(times[0]));
    }
    
    return source_date ;

    darkartur, 31 Марта 2015

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

    +155

    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
    $.analyse.analysePage = function(params, callbacks) {
    	$.analyse.sidebar({
    		'story': params.story,
    		'format': params.format,
    		'parentId': params.parentId
    	}, callbacks);
    	$.analyse.content({
    		'story': params.story,
    		'format': params.format,
    		'formatTemplate': params.formatTemplate,
    		'template': params.template,
    		'response' : params.response,
    		'selectedId': params.selectedId
    	}, callbacks);
    	[...]
    };
    
    
    $.analyse.content = function(params, callbacks) {
    	var data = {
    			params : params
    		};
            [...] //В 2-ух местах используется params
    	otherFunction(data); //Название изменено
    	[...]
    };

    История путешествия данных по функциям.

    Edd, 27 Марта 2015

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
        $('#field_9').mask('+7 (999) 999-99-99');
    } catch (e) {
        $('#field_9').mask('+7 (999) 999-99-99');
    }

    Не получилось с первого раза? Получится со второго!

    jbot, 26 Марта 2015

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

    +154

    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
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    	<title></title>
    </head>
    <body>
    
    </body>
    </html>
    
    <script>
    
    var text = "adsdmdlmf 34vfvf";
    var regex = /\s /
    if (regex != 0){
    	alert("Тут два слова")
    }
    else {
    	alert("Тут одно слово")
    }
    </script>

    Первый говнопост (задача проверить является ли текст одним словом)

    kychagovn, 22 Марта 2015

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

    +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
    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    function getProductIds(text, containerId) {
            var products = new Array();
     
            var valueFound = false;
     
            var start = 0;
            var end = 0;
            var itemCount = 0;
            var curChar = 0;
     
            var readStart = text.indexOf(containerId);
     
            var triggerChar = ">";
     
            while (valueFound == false) {
                if (text.substring(readStart + curChar, readStart + curChar + triggerChar.length) == triggerChar)
                    valueFound = true;
                else
                    curChar++;
            }
     
            start = readStart + curChar + 1;
     
            valueFound = false;
            triggerChar = "</div>";
     
            while (valueFound == false) {
                if (text.substring(readStart + curChar, readStart + curChar + triggerChar.length) == triggerChar)
                    valueFound = true;
                else
                    curChar++;
            }
     
            end = readStart + curChar;
     
            var itemsHtml = text.substring(start, end).replace(" ", "").replace("\n", "");
     
            curChar = 0;
     
            triggerChar = "ProductId";
     
            while (curChar < itemsHtml.length) {
                if (itemsHtml.substring(curChar, curChar + triggerChar.length) == triggerChar)
                    itemCount++;
     
                curChar++;
            }
     
     
     
            for (var curItem = 1; curItem <= itemCount; curItem++) {
     
                var product = new Array();
     
                product[0] = getValue(itemsHtml, "LineItem_" + curItem + "_ProductId", "value=\"", "\"", 1);
                product[1] = getValue(itemsHtml, "LineItem_" + curItem + "_ProductName", "value=\"", "\"", 1);
                product[2] = getValue(itemsHtml, "LineItem_" + curItem + "_Quantity", "value=\"", "\"", 1);
                product[3] = getValue(itemsHtml, "LineItem_" + curItem + "_UnitPrice", "value=\"", "\"", 1);
     
                products[curItem - 1] = product;
     
            }
     
            return products;
        }

    Шедевральный код. Работают с HTML даже не на нативном js, а как с обычной строкой. Правильно, зачем париться - строки знают все :)

    PS Код не мой. Однако стоит отметить, что он успешно используется на реальных сайтах :)

    sashapinsk, 20 Марта 2015

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

    +165

    1. 1
    2. 2
    3. 3
    function print(){
        window.print() ;
    }

    Lure Of Chaos, 20 Марта 2015

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $(".fast-view .slide a").click(function() {
    			$(this).parent().parent().parent().parent().parent().parent().parent().find(".fast-view-list .tab").css("display", "none");
    			$(this).parent().parent().parent().parent().parent().parent().parent().find($(this).attr("href")).css("display", "block");
    			return false;
    		});

    lennar, 18 Марта 2015

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

    +160

    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
    function displayFilterElements(typeList){
    	_filter.form.elements["name1"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name2"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["nam3"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name4"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name5"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name6"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name7"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name8"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name9"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name10"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name11"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name12"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name13"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name14"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name15"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name16"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name17"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name18"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name19"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name20"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name21"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name22"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name23"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name24"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name25"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name26"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name27"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name28"].closest("tr").hidden = (typeList === "Type3") ? true : false;
    	_filter.form.elements["name29"].closest("tr").hidden = (typeList === "Type3") ? false : true;
    };
    	
    function stateFilterElements(){
    	let select = false;
    	["name1", "name2", "name3", "name4", "name5", "name6", "name7", "name8", "name9", "name10", "name11", "name12", "name13"].forEach(function(fieldName){
    		if ($.query.hashJSON.has(fieldName))
    			select = true;
    	});
    	return select;
    }

    Получил в доработку модуль сотрудника. Идентификаторы изменены для публикации, не в них суть.

    torbasow, 17 Марта 2015

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $('#Leasing_payment_sum').keyup(function(){
        if($(this).val()/$(this).val()){
            var result = $(this).val()*1+$(this).val()*0.18;
            $('#Leasing_payment_sum_with_nds').val(result.toFixed(2));
        }
    });

    Удивляет проверка...

    creepy-code, 16 Марта 2015

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

    +158

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    eps=0.001;
    
    s1=new Source(1000,0.17);
    mx=new Mixer(1000);
    mb=new Mem(0.15,0.95);
    sp=new Splitter(0.80);
    s2=new Sink();
    s3=new Sink();
    
    mx.in1=s1.out1;
    mx.in2=sp.out2;
    mb.in1=mx.out1;
    sp.in1=mb.out2;
    s3.in1=sp.out1;
    s2.in1=mb.out1;
    
    for (i=0;i<50;i++){
        mx.calc();
        mb.calc();
        sp.calc();
    }
    
    function Stream(v,c){
        this.v=v||null;
        this.c=c||null;
        this.selfCheck=false;
        this.Show=function(){//how to add default values?
            return "volume="+this.v+",conc="+this.c+",selfCheck:"+this.selfCheck+"; ";
        }
    }
    
    function Source(v,c){
        this.out1=new Stream(v,c);
        this.calc=function(){};
    }
    function Sink(){
        this.in1=null;
        this.calc=function(){};
    }
    
    function Mixer(fixedV){
        this.fv=fixedV;
        this.in1=null;
        this.in2=null;
        this.out1=new Stream();
        this.calc=function(){
            this.out1.v=this.fv;//||this.in1.v+this.in2.v;
            this.in2.v=this.in2.v||0;
            this.in2.c=this.in2.c||0;
            this.in1.v=this.out1.v-this.in2.v;
            this.out1.c =(this.in1.v*this.in1.c+this.in2.v*this.in2.c)/this.out1.v;
            this.out1.selfCheck=Math.abs
            ((this.in1.v*this.in1.c+this.in2.v*this.in2.c)-(this.out1.v*this.out1.c))<eps;
        }
    }
    
    function Splitter(kS){
        this.in1=null;
        this.ks=kS||0.05;
        this.out1=new Stream();
        this.out2=new Stream();
        this.calc=function(){
            this.out1.v=this.in1.v*(1-this.ks);
            this.out2.v=this.in1.v*(this.ks);
            this.out1.c=this.in1.c;
            this.out2.c=this.in1.c;
        }
    
    }
    
    function Mem(kV,kC) {
        this.kv = kV||0.15;
        this.kc = kC||0.95;
        this.in1 = null;
        this.out1 = new Stream();
        this.out2 = new Stream();
        this.calc = function () {
            this.out1.v = this.in1.v * this.kv;
            this.out1.c = this.in1.c * (1 - this.kc);
            this.out2.v = this.in1.v * (1 - this.kv);
            this.out2.c = (this.in1.v * this.in1.c - this.out1.v * this.out1.c) / this.out2.v;
            this.out1.selfCheck = this.out2.selfCheck = Math.abs
            (this.in1.v * this.in1.c - (this.out1.v * this.out1.c + this.out2.v * this.out2.c)) < eps;
    
        }
    }

    xtfkpi, 16 Марта 2015

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