Перейти к содержимому


Броблемы С Javascript


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Konsul

Konsul

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 27 Март 2013 - 11:52

Добрый день

Проблемы с javascript. при добавлении на страницу через html первые 10 строчек удаляются. Может кто-нибудь проверит код и выявит ошибку.

сам код


<script type="text/javascript"
$(document).ready(function(){
    
    var main_count = 0;
    var length = 0;
    var square = 0;

    $('#FIRST_BLOCK_01 input').change(function(){
    var count = parseInt($(this).val());
    main_count = count;
    var dummy = '<tr class="dummy"><td>Длина карнизного свеса</td><td><input class="length" type="text" /></td></tr><tr class="dummy"><td>Площадь ската</td><td><input class="square" type="text" /></td></tr>';
    $('.dummy').remove();
    
    for (i=0; i<count; i++)
    {
    $('#FIRST_BLOCK_03').after(dummy);
    }
    
    })
    
    // расчет
    $('#calculate').click(function(){
    var length = 0;
    var square = 0;
    
    var house_height = $('#FIRST_BLOCK_06 input').val();
    house_height = str_replace(',', '.', house_height);
    
    $('.length').each((function(){
    if (parseInt($(this).val()) > 0)
    {
    var value = str_replace(',', '.', $(this).val());
    length += parseFloat(value);
    }}))
    
        
    $('.square').each(function(){
    if (parseInt($(this).val()) > 0)
    {
    var value = str_replace(',', '.', $(this).val());
    square += parseFloat(value);
    }
    })
    
    $('#FIRST_BLOCK_02 input').val(length);
    $('#FIRST_BLOCK_03 input').val(square);
    
    
    var result = new Array();
    result[7] = 0;
    result[8] = 0;
    result[3] = 0;
    
    var main

    // считаем для каждого свеса отдельно
    $('.square').each(function(){
    var value = str_replace(',', '.', $(this).val());
    value = parseFloat(value);

    result[8] = result[8] + Math.ceil(value / 50);  // Воронки    
    })
    $('.length').each(function(){
    var value = str_replace(',', '.', $(this).val());
    value = parseFloat(value);

    result[7] = result[7] + Math.ceil(value / 3 - 1);  // Соединители желобов    
    result[7] = Math.abs(result[7]);
    
    result[3] = result[3] + Math.ceil((value / 6) * 10)
    result[3] = Math.abs(result[3]);
    
    //console.log('result[3] = '+result[3]);
    })
    

    result[1] = Math.ceil(length / 3);  // Желоба
    result[2] = Math.abs(parseInt($('#FIRST_BLOCK_04 input').val()) + parseInt($('#FIRST_BLOCK_05 input').val()));  // угловой элемент
    result[3] = result[3] + main_count;    // Кронштейны под желоб
    result[4] = Math.abs((main_count - result[2]) * 2); // Заглушки
    result[5] = Math.ceil(2 * result[8]);    // Колено 45 или 72
    result[6] = result[8];   // Наконечник
    result[9] = result[8];   // Защитная сетка
    result[10] = Math.ceil(house_height / 3 * result[8]);   // Трубы
    result[11] = result[7];  // Соединительная муфта
    result[12] = Math.ceil(house_height * 2 / 3);   // Хомут
    result[12] = Math.abs((result[12] + 1) * main_count);   // Хомут
    
    for(i=1; i<13; i++)
    {
    if (result[i] > 0)
    $('#SECOND_BLOCK_'+i+'-VIEW').html(result[i]);
    else
    $('#SECOND_BLOCK_'+i+'-VIEW').html('-');
    
    $('#SECOND_BLOCK_'+i+' input').val(result[i]);
    }
    
    
    return false;
    })
    
    $('#reset').click(function(){
    $('#block-1 table input').val('');
    $('#block-2 .value').html('-');
    $('#block-2 input').val('');
    $('.dummy').remove();
    
    return false;
    })
    
    $('#drain-form').submit(function(){
    var submit_stop = false;
    $('#block-1 .answer input').each(function(){
    if(!$(this).val().length)
    {
    alert('Введите данные для расчета!');
    submit_stop = true;
    return false;
    }
    })
    
    if(submit_stop)
    return false;
    })
    

})
</script>


После сохранения

<script type="text/javascript">// <![CDATA[
0)
    {
    var value = str_replace(',', '.', $(this).val());
    length += parseFloat(value);
    }
    })
    $('.square').each(function(){
    if (parseInt($(this).val()) > 0)
    {
    var value = str_replace(',', '.', $(this).val());
    square += parseFloat(value);
    }
    })
    
    $('#FIRST_BLOCK_02 input').val(length);
    $('#FIRST_BLOCK_03 input').val(square);
    
    
    var result = new Array();
    result[7] = 0;
    result[8] = 0;
    result[3] = 0;
    
    var main

    // считаем для каждого свеса отдельно
    $('.square').each(function(){
    var value = str_replace(',', '.', $(this).val());
    value = parseFloat(value);

    result[8] = result[8] + Math.ceil(value / 50);  // Воронки    
    })
    $('.length').each(function(){
    var value = str_replace(',', '.', $(this).val());
    value = parseFloat(value);

    result[7] = result[7] + Math.ceil(value / 3 - 1);  // Соединители желобов    
    result[7] = Math.abs(result[7]);
    
    result[3] = result[3] + Math.ceil((value / 6) * 10)
    result[3] = Math.abs(result[3]);
    
    //console.log('result[3] = '+result[3]);
    })
    

    result[1] = Math.ceil(length / 3);  // Желоба
    result[2] = Math.abs(parseInt($('#FIRST_BLOCK_04 input').val()) + parseInt($('#FIRST_BLOCK_05 input').val()));  // угловой элемент
    result[3] = result[3] + main_count;    // Кронштейны под желоб
    result[4] = Math.abs((main_count - result[2]) * 2); // Заглушки
    result[5] = Math.ceil(2 * result[8]);    // Колено 45 или 72
    result[6] = result[8];   // Наконечник
    result[9] = result[8];   // Защитная сетка
    result[10] = Math.ceil(house_height / 3 * result[8]);   // Трубы
    result[11] = result[7];  // Соединительная муфта
    result[12] = Math.ceil(house_height * 2 / 3);   // Хомут
    result[12] = Math.abs((result[12] + 1) * main_count);   // Хомут
    
    for(i=1; i<13; i++)
    {
    if (result[i] > 0)
    $('#SECOND_BLOCK_'+i+'-VIEW').html(result[i]);
    else
    $('#SECOND_BLOCK_'+i+'-VIEW').html('-');
    
    $('#SECOND_BLOCK_'+i+' input').val(result[i]);
    }
    
    
    return false;
    })
    
    $('#reset').click(function(){
    $('#block-1 table input').val('');
    $('#block-2 .value').html('-');
    $('#block-2 input').val('');
    $('.dummy').remove();
    
    return false;
    })
    
    $('#drain-form').submit(function(){
    var submit_stop = false;
    $('#block-1 .answer input').each(function(){
    if(!$(this).val().length)
    {
    alert('Введите данные для расчета!');
    submit_stop = true;
    return false;
    }
    })
    
    if(submit_stop)
    return false;
    })
    

})
// ]]></script>

#2 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 27 Март 2013 - 12:25

Просмотр сообщенияKonsul (27 Март 2013 - 11:52) писал:

Добрый день

Проблемы с javascript. при добавлении на страницу через html первые 10 строчек удаляются. Может кто-нибудь проверит код и выявит ошибку.

сам код


<script type="text/javascript"
$(document).ready(function(){

var main_count = 0;
var length = 0;
var square = 0;

$('#FIRST_BLOCK_01 input').change(function(){
var count = parseInt($(this).val());
main_count = count;
var dummy = '<tr class="dummy"><td>Длина карнизного свеса</td><td><input class="length" type="text" /></td></tr><tr class="dummy"><td>Площадь ската</td><td><input class="square" type="text" /></td></tr>';
$('.dummy').remove();

for (i=0; i<count; i++)
{
$('#FIRST_BLOCK_03').after(dummy);
}

})

// расчет
$('#calculate').click(function(){
var length = 0;
var square = 0;

var house_height = $('#FIRST_BLOCK_06 input').val();
house_height = str_replace(',', '.', house_height);

$('.length').each((function(){
if (parseInt($(this).val()) > 0)
{
var value = str_replace(',', '.', $(this).val());
length += parseFloat(value);
}}))


$('.square').each(function(){
if (parseInt($(this).val()) > 0)
{
var value = str_replace(',', '.', $(this).val());
square += parseFloat(value);
}
})

$('#FIRST_BLOCK_02 input').val(length);
$('#FIRST_BLOCK_03 input').val(square);


var result = new Array();
result[7] = 0;
result[8] = 0;
result[3] = 0;

var main

// считаем для каждого свеса отдельно
$('.square').each(function(){
var value = str_replace(',', '.', $(this).val());
value = parseFloat(value);

result[8] = result[8] + Math.ceil(value / 50);  // Воронки
})
$('.length').each(function(){
var value = str_replace(',', '.', $(this).val());
value = parseFloat(value);

result[7] = result[7] + Math.ceil(value / 3 - 1);  // Соединители желобов
result[7] = Math.abs(result[7]);

result[3] = result[3] + Math.ceil((value / 6) * 10)
result[3] = Math.abs(result[3]);

//console.log('result[3] = '+result[3]);
})


result[1] = Math.ceil(length / 3);  // Желоба
result[2] = Math.abs(parseInt($('#FIRST_BLOCK_04 input').val()) + parseInt($('#FIRST_BLOCK_05 input').val()));  // угловой элемент
result[3] = result[3] + main_count;    // Кронштейны под желоб
result[4] = Math.abs((main_count - result[2]) * 2); // Заглушки
result[5] = Math.ceil(2 * result[8]);    // Колено 45 или 72
result[6] = result[8];   // Наконечник
result[9] = result[8];   // Защитная сетка
result[10] = Math.ceil(house_height / 3 * result[8]);   // Трубы
result[11] = result[7];  // Соединительная муфта
result[12] = Math.ceil(house_height * 2 / 3);   // Хомут
result[12] = Math.abs((result[12] + 1) * main_count);   // Хомут

for(i=1; i<13; i++)
{
if (result[i] > 0)
$('#SECOND_BLOCK_'+i+'-VIEW').html(result[i]);
else
$('#SECOND_BLOCK_'+i+'-VIEW').html('-');

$('#SECOND_BLOCK_'+i+' input').val(result[i]);
}


return false;
})

$('#reset').click(function(){
$('#block-1 table input').val('');
$('#block-2 .value').html('-');
$('#block-2 input').val('');
$('.dummy').remove();

return false;
})

$('#drain-form').submit(function(){
var submit_stop = false;
$('#block-1 .answer input').each(function(){
if(!$(this).val().length)
{
alert('Введите данные для расчета!');
submit_stop = true;
return false;
}
})

if(submit_stop)
return false;
})


})
</script>


После сохранения

<script type="text/javascript">// <![CDATA[
0)
{
var value = str_replace(',', '.', $(this).val());
length += parseFloat(value);
}
})
$('.square').each(function(){
if (parseInt($(this).val()) > 0)
{
var value = str_replace(',', '.', $(this).val());
square += parseFloat(value);
}
})

$('#FIRST_BLOCK_02 input').val(length);
$('#FIRST_BLOCK_03 input').val(square);


var result = new Array();
result[7] = 0;
result[8] = 0;
result[3] = 0;

var main

// считаем для каждого свеса отдельно
$('.square').each(function(){
var value = str_replace(',', '.', $(this).val());
value = parseFloat(value);

result[8] = result[8] + Math.ceil(value / 50);  // Воронки
})
$('.length').each(function(){
var value = str_replace(',', '.', $(this).val());
value = parseFloat(value);

result[7] = result[7] + Math.ceil(value / 3 - 1);  // Соединители желобов
result[7] = Math.abs(result[7]);

result[3] = result[3] + Math.ceil((value / 6) * 10)
result[3] = Math.abs(result[3]);

//console.log('result[3] = '+result[3]);
})


result[1] = Math.ceil(length / 3);  // Желоба
result[2] = Math.abs(parseInt($('#FIRST_BLOCK_04 input').val()) + parseInt($('#FIRST_BLOCK_05 input').val()));  // угловой элемент
result[3] = result[3] + main_count;    // Кронштейны под желоб
result[4] = Math.abs((main_count - result[2]) * 2); // Заглушки
result[5] = Math.ceil(2 * result[8]);    // Колено 45 или 72
result[6] = result[8];   // Наконечник
result[9] = result[8];   // Защитная сетка
result[10] = Math.ceil(house_height / 3 * result[8]);   // Трубы
result[11] = result[7];  // Соединительная муфта
result[12] = Math.ceil(house_height * 2 / 3);   // Хомут
result[12] = Math.abs((result[12] + 1) * main_count);   // Хомут

for(i=1; i<13; i++)
{
if (result[i] > 0)
$('#SECOND_BLOCK_'+i+'-VIEW').html(result[i]);
else
$('#SECOND_BLOCK_'+i+'-VIEW').html('-');

$('#SECOND_BLOCK_'+i+' input').val(result[i]);
}


return false;
})

$('#reset').click(function(){
$('#block-1 table input').val('');
$('#block-2 .value').html('-');
$('#block-2 input').val('');
$('.dummy').remove();

return false;
})

$('#drain-form').submit(function(){
var submit_stop = false;
$('#block-1 .answer input').each(function(){
if(!$(this).val().length)
{
alert('Введите данные для расчета!');
submit_stop = true;
return false;
}
})

if(submit_stop)
return false;
})


})
// ]]></script>

Попробуйте удалить комментарии из скрипта и снова загрузить на страницу

#3 Konsul

Konsul

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 27 Март 2013 - 13:48

Просмотр сообщенияmiyako (27 Март 2013 - 12:25) писал:

Попробуйте удалить комментарии из скрипта и снова загрузить на страницу

не помогло

#4 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 27 Март 2013 - 14:04

Просмотр сообщенияKonsul (27 Март 2013 - 13:48) писал:

не помогло

Вы использовали какую-то инструкцию на форуме? Можно узнать откуда вы взяли код?

#5 Konsul

Konsul

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 27 Март 2013 - 14:56

эта проблема решилась)))
при вводе в html начальную строку <script type="text/javascript" забыл поставить закрытие >
Но напоролся на другую ошибку: str_replace is not defined
ссылка на страницу http://теремок96.рф/...ости-водостоков

#6 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 27 Март 2013 - 15:00

Просмотр сообщенияKonsul (27 Март 2013 - 14:56) писал:

эта проблема решилась)))
при вводе в html начальную строку <script type="text/javascript" забыл поставить закрытие >
Но напоролся на другую ошибку: str_replace is not defined
ссылка на страницу http://теремок96.рф/...ости-водостоков

В каком браузере у вас возникла такая ошибка?

#7 Konsul

Konsul

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 27 Март 2013 - 15:05

Просмотр сообщенияmiyako (27 Март 2013 - 15:00) писал:

В каком браузере у вас возникла такая ошибка?

Mozilla firefox 4

#8 mikola

mikola

    Good soo good

  • Модератоpы
  • 1 550 сообщений
  • Городгород Нижний Новгород

Отправлено 27 Март 2013 - 17:48

Просмотр сообщенияKonsul (27 Март 2013 - 15:05) писал:

Mozilla firefox 4
на
странице
http://теремок96.рф/...ости-водостоков
ошибок не найдено проверьте всё ещё раз,проведите чистку кэш  браузера

#9 Konsul

Konsul

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 27 Март 2013 - 19:24

Просмотр сообщенияMikola (27 Март 2013 - 17:48) писал:

на
странице
http://теремок96.рф/...ости-водостоков
ошибок не найдено проверьте всё ещё раз,проведите чистку кэш  браузера

при нажатии рассчитать ошибка появляется. посмотрите

#10 mikola

mikola

    Good soo good

  • Модератоpы
  • 1 550 сообщений
  • Городгород Нижний Новгород

Отправлено 27 Март 2013 - 19:44

Просмотр сообщенияKonsul (27 Март 2013 - 19:24) писал:

при нажатии рассчитать ошибка появляется. посмотрите
Возможно у вас не работает кнопка "рассчитать"??

#11 Konsul

Konsul

    Пользователь

  • Пользователи
  • PipPip
  • 46 сообщений

Отправлено 28 Март 2013 - 07:13

Просмотр сообщенияMikola (27 Март 2013 - 19:44) писал:

Возможно у вас не работает кнопка "рассчитать"??

При нажатии кнопка обращается  к коду и после этого появляется ошибка значит кнопка работает. Если бы кнопка не работала тогда ошибки не было и ни чего не рассчитывалось

#12 Stasya

Stasya

    Активный участник

  • Модератоpы
  • 4 007 сообщений

Отправлено 28 Март 2013 - 10:36

Просмотр сообщенияKonsul (28 Март 2013 - 07:13) писал:

При нажатии кнопка обращается  к коду и после этого появляется ошибка значит кнопка работает. Если бы кнопка не работала тогда ошибки не было и ни чего не рассчитывалось
При нажатии кнопки "Расчитать" на странице "расчетов количества и стоимости водостокс"  никаких расчетов не происходит. Это означает кнопка не работает именно поэтому может возникать ошибка.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных