Добрый день дорогое сообщество!
Не выполняется скрипт в Drupal 7 почему то, терпения уже не хватает, не пойму что не так сделал, ткните плз.
Спасибо!
function ($) {
$(document).ready(function() {
function CalcWPLen () {
var length = $('#inputRoomLength').val();
var width = $('#inputRoomWidth').val();
var height = $('#inputCeilingHeight').val();
var wp_cost = 2360;
var wp_width = $('#inputWhalwidth').val();
var wp_length = $('#inputWhallength').val();
if (length>0 && width>0 && height>0) {
var perimiter = length*2+width*2;
var sq = perimiter*height;
var wp_sq = wp_width*wp_length;
var result = Math.ceil(sq/wp_sq*1.1);
var resultcost = result*wp_cost;
$('#calc_result strong').text('Вам потребуется '+result+' '+fixword(result, "рулон", "рулона", "рулонов")+ ' — '+resultcost+'р.');
$('input[name=quantity]').val(result);
} else {
alert("Заполните все поля для расчета");
}
return false;
}
});
$(document).ready(function() {
function CalcWPLen () {
var length = $('#inputRoomLength').val();
var width = $('#inputRoomWidth').val();
var height = $('#inputCeilingHeight').val();
var wp_cost = 2360;
var wp_width = $('#inputWhalwidth').val();
var wp_length = $('#inputWhallength').val();
if (length>0 && width>0 && height>0) {
var perimiter = length*2+width*2;
var sq = perimiter*height;
var wp_sq = wp_width*wp_length;
var result = Math.ceil(sq/wp_sq*1.1);
var resultcost = result*wp_cost;
$('#calc_result strong').text('Вам потребуется '+result+' '+fixword(result, "рулон", "рулона", "рулонов")+ ' — '+resultcost+'р.');
$('input[name=quantity]').val(result);
} else {
alert("Заполните все поля для расчета");
}
return false;
}
});
})(jQuery);
Комментарии
А что не так? Ошибка или что..Или не считает
$(document).ready(function(){
});
})(jQuery);
Как скрипт подключен?
а в чем смысл такой конструкции можешь объяснить?
Так он и не сработает, ведь в скрипте просто определена функция CalcWPLen, но нигде не вызвана.
Буду краток )
подключал через drupal_add_js это дело, а на странице форма с инпутами из которых скрипт берет значение и кнопица
button type="button" class="btn btn-orange" id="calc_process" onClick="CalcWPLen(); return false;
Как надо правильно оформить код в js файле?
Ругается на Uncaught ReferenceError: CalcWPLen is not defined
onclick
Потому что функция определена внутри другой функции и глобально не видна
Может функция вызвана в другом месте , только никто этого не знает
Скобка в начале. Помню что поэтому не работал у меня скрипт.
Именно. Чёт сразу не видел.
Я не гуру в js. Но у меня никогда через onClick в Drupal не срабатывало)
Не парь мозг повесь сабмит прямо в коде js.
на 6-терке раньше сидел. а тут запутался в конец.. да еще ночь бессонная.. (
$(document).ready(function(){
$("#calc_process").bind('click', function() {
//твой код
http://toster.ru/q/113419
я не про скобку спрашивал, я про $(document).ready() внутри (function() {})()
читай хотя бы документацию внимательно прежде чем раздавать советы
http://api.jquery.com/ready/
ой.
да.. правда.. дело в onClick было.. я что то ни разу не сталкивался а тут вот оно что ))
Спасибо огромное!!!
$(document).ready(function(){
function fixword(_number, _case1, _case2, _case3)
{
var base = _number - Math.floor(_number / 100) * 100;
var result;
if (base > 9 && base < 20) {
result = _case3;
} else {
var remainder = _number - Math.floor(_number / 10) * 10;
if (1 == remainder) result = _case1;
else if (0 < remainder && 5 > remainder) result = _case2;
else result = _case3;
}
return result;
}
$("#calc_process").bind('click', function() {
var length = $('#inputRoomLength').val();
var width = $('#inputRoomWidth').val();
var height = $('#inputCeilingHeight').val();
var wp_cost = $('#inputCost').val();
var wp_width = $('#inputWhalwidth').val();
var wp_length = $('#inputWhallength').val();
if (length>0 && width>0 && height>0) {
var perimiter = length*2+width*2;
var sq = perimiter*height;
var wp_sq = wp_width*wp_length;
var result = Math.ceil(sq/wp_sq*1.1);
var resultcost = result*wp_cost;
$('#calc_result strong').text('Вам потребуется '+result+' '+fixword(result, "рулон", "рулона", "рулонов")+ ' — '+resultcost+'р.');
$('input[name=quantity]').val(result);
} else {
alert("Заполните все поля для расчета");
}
return false;
});
});
})(jQuery);