.attr('href', string.trim() + "?random_param=" + Math.round(Math.random() * 1000))
$("#form")
var form_elem = $("#form"); // тут должны словить DOM-объект формы в JQuery обертке
form_elem.submit(function(.......... // а тут цепляем обработчик.
<form id="form"></from>
<form id="form1"></from>
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=utf-8'>
</head>
<body>
<style>
html, body
{
margin: 0;
padding: 0;
}
table
{
border-collapse: collapse;
background-color: #fff;
}
table,
table td,
table th
{
border: 1px solid #333;
}
</style>
<table id="job_briefing">
<tr><th>Работник</th><th>Должность</th><th>Дата инструктажа</th><th>Инструкция</th><th>Подпись</th></tr>
</table>
<script>
(function()
{
var row_count = 30; // количество строк таблицы
var inctruct_info = '№18 от 01.07.2015'; // номер инструкции, которая будет заполнятся автоматически
// справочник работников
var workers =
[
{
name: 'Иванов И.А.',
post: 'Водитель'
},
{
name: 'Петров И.А.',
post: 'Техник'
},
{
name: 'Сидоров И.А.',
post: 'Инженер'
},
];
var job_briefing_table = document.getElementById('job_briefing'); // получаем DOM-элемент со страницы
for(var i = 0; i < row_count; i++)
job_briefing_table.appendChild(create_table_row()); // наполняем строками
// функция создания строки
function create_table_row()
{
var tr_elem = document.createElement('tr'); // создаем элемент tr
var td_elem = document.createElement('td'); // создаем элемент td
td_elem.appendChild(create_select(workers)); // создаем элемент select и вставялем его в td
tr_elem.appendChild(td_elem); // вставляем td в tr
for(var i = 0; i < 4; i++) // создаем и вставляем остальные td
{
td_elem = document.createElement('td');
tr_elem.appendChild(td_elem);
}
return tr_elem;
}
// функция создания выпадающего списка с работниками
function create_select(workers /* - список работников*/)
{
var select_elem = document.createElement('select'); // содаем элемент select
var worker_count = workers.length; // определяем кол-во работников в списке
var option_elem = document.createElement('option'); // создаем элемент option
option_elem.setAttribute('value', -1); // добавляем в option атрибут value для пустого элемента
select_elem.appendChild(option_elem); // вставляем option в select
for(var i = 0; i < worker_count; i++) // перебираем список работников
{
var worker = workers[i]; // текущий элемент списка работников
option_elem = document.createElement('option');
option_elem.setAttribute('value', i); // добавляем в option атрибут value = порядковый номер работника в списке
option_elem.innerHTML = worker.name; // имя работника в option
select_elem.appendChild(option_elem); // вставляем option в select
}
select_elem.onchange = worker_select_onchange; // добавляем обработчик события выбора элемента в выпадающем списке работников
return select_elem; // возвращаем готовый элемент выпадающего списка
}
// обработчик события выбора элемента в выпадающем списке работников
function worker_select_onchange(e)
{
var target = e.target; // получаем то элемент select, на котором произошло событие выбора работника
var select_value = target.value; // получаем выбранное value - порядковый номер работника
var tr_elem = target.parentNode.parentNode; // получаем строку, на котором располагается select (второй родительский элемент)
var td_elems = tr_elem.getElementsByTagName('td'); // получаем все ячейки этой строки
td_elems[1].innerHTML = select_value == -1 ? '' : workers[select_value].post; // задаем должность для 2-ой ячейки
td_elems[2].innerHTML = select_value == -1 ? '' : get_current_date(); // задаем текущую дату для 3-ей ячейки
td_elems[3].innerHTML = select_value == -1 ? '' : inctruct_info; // задаем сведения об инструкции для 4-ой строки
}
// функция получения текущей даты по формату DD.MM.YYYY
function get_current_date()
{
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
return (day < 10 ? '0' : '') + day + '.' + (month < 10 ? '0' : '') + month + '.' + date.getFullYear();
}
})();
</script>
</body>
</html>
document.getElementById('product_image_files').style.display = 'none';
for (l = 0; l < obj.length; l++)
for (var l = 0; l < obj.length; l++)
var article = e.target.parentNode.parentNode;
var src = article.getElementsByTagName('img')[0].getAttribute('src');
var title = article.getElementsByTagName('h2')[0].innerHTML;
var audio = new Audio();
audio.onended = function(e)
{
var target = e.target;
var cur_src = target.getAttribute('src');
switch(cur_src)
{
case '1.mp3': target.setAttribute('src', '2.mp3'); break;
case '2.mp3': target.setAttribute('src', '3.mp3'); break;
case '3.mp3': target.setAttribute('src', '1.mp3'); break;
}
target.play();
};
audio.setAttribute('src', '1.mp3');
audio.autoplay = true;
<input type="button" onclick="calc_table_add_row()" value="Добавить"/>
<div id="calc_table" class="table"></div>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script>
// функция для добавления вычисляемой строки
function calc_table_add_row()
{
//Элементы input подписаны на события onkeypress и onblur, что позволяет делать пересчет как при непосредственном изменении значения, так и во время потери фокуса
$('#calc_table').append(
'<div class="tr">\
<div class="td">' + ($('#calc_table>div.tr').length + 1 /* это нумератор строки, добавляется номер от существующего кол-ва строк */) + '</div>\
<div class="td">\
<input type="text" onkeypress="calc_table_recalc_row(event)" onblur="calc_table_recalc_row(event)"/></div>\
<div class="td"><input type="text" onkeypress="calc_table_recalc_row(event)" onblur="calc_table_recalc_row(event)"/></div>\
<div class="td"><input type="text" onkeypress="calc_table_recalc_row(event)" onblur="calc_table_recalc_row(event)"/></div>\
<div class="td"></div>\
<div class="td"></div>\
</div>'
);
}
// функция-обработчик пересчета значений в строке
function calc_table_recalc_row(e)
{
var cur_input = e.target; // на этом элементе произошло событие (input)
var cur_td = cur_input.parentNode; // получаем родительский элемент (div.td, в котором нажодится затронутый input)
var cur_tr = cur_td.parentNode; // получаем родительский элемент (div.tr, в котором нажодится div.td с затронутым input)
var td_divs = $(cur_tr).find('div.td'); // находим все элементы div.td на данной строке
try // если возникнет какая-то ошибка, то тихо прекратим вычисления
{
var input1 = parseFloat($(td_divs[1]).find('input')[0].value); // получаем значение ячейки 2
var input2 = parseFloat($(td_divs[2]).find('input')[0].value); // получаем значение ячейки 3
var input3 = parseFloat($(td_divs[3]).find('input')[0].value); // получаем значение ячейки 4
if(!isNaN(input1) && !isNaN(input2) && !isNaN(input3)) // все ли значения получились числами вещественными ?
{
var result4 = input3 / input2; // считаем результат для ячейки 5
$(td_divs[4]).html( (result4).toFixed(2) ); // записываем результат в ячейку 5 с округлением до 2 знаков
$(td_divs[5]).html( (result4 * (input1.toFixed(2) == 10.00 ? 0.1 : 5)).toFixed(2) ); // считаем и записываем результат в ячейку 6 с округлением до 2 знаков
}
}
catch(ex)
{
}
}
</script>
if(!preloader.classList.contains('done'))
if(preloader.getAttribute('class').indexOf('done') == -1)
new Date(yearVal, monthVal, dayVal)
(new Date()).getTime() - (new Date(yearVal, monthVal, dayVal)).getTime()
var now = new Date();
var age = (now.getFullYear() - yearVal - ((now.getMonth() - (monthVal - 1) || now.getDate() - dayVal) < 0 ? 1 : 0));
function highlightcurrent(items, index)
{
if(index != 2) // выходим из функции, если достигли определенного индекса
{
items.removeClass("highlightcurrent");
items.eq(index).addClass('highlight');
items.eq(index).addClass('highlightcurrent');
setTimeout(function()
{
highlightcurrent(items, index + 1)
}, 1000);
}
}
highlightcurrent($('.progress-page-tabs-col'), 0);