<form action="/catalog/search/" class="search-form">
<fieldset>
<input name="s" class="input search-field" type="text" placeholder="Поиск по сайту" id="input-search" value="">
<div class="btn-search">
<input type="submit" class="search-go" value="" id="send-search" disabled="disabled">
</div>
</fieldset>
</form>
$('html').on('keyup','#input-search',function(e) {
if($(this).length == 0) {
$('#send-search').prop('disabled', true);
} else {
$('#send-search').prop('disabled', false);
}
});
$('html').on('click','#save,function() {
var v = $('.chosen-select').find('option:selected').val();
var t = $('.chosen-select').find('option:selected').text();
$.ajax({
type: 'POST',
url: 'send_url.php',
data: {v:v, t:t},
cache: false,
dataType: 'json',
timeout: 15000,
success: function(r) {
console.log(r);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR, textStatus, errorThrown);
}
});
});
В третьей функции мы не можем использовать данные первой?
// где-то в одной далекой функции или событии собираю данные для запроса
var Id = '127';
var Name = 'Test';
var data = JSON.stringify({
Type:'Save',
Data: {
Id:Id,
Name:Name
}
}); // собираю JSON который будет отправлен, соотвественно можно отослать и не JSON
var s = {
type:'POST',
url:'conn.php',
data:data,
dataType:'json',
parent: 'thisFunction'
}; // подготавливаю данные для функции отправки
SendData(s); // вызываю саму функцию отправки
/////////////////////////////
function SendData(s) {
$.ajax({
type: s.type,
url: s.url,
data: s.data,
cache: false,
dataType: s.dataType,
timeout: 15000,
success: function(r) {
SendSuccess(r, s); // успех, шлем полученный ответ
},
error: function(jqXHR, textStatus, errorThrown) {
SendError(s); // ошибка, в SendError можно так же передать состояние ошибки, например SendError(s, textStatus)
}
});
}
function SendSuccess(r, s) {
if (s.parent == 'thisFunction') {
// вызываем необходимую функцию или событие, можем передать ответ r
}
}
function SendError(s) {
if (s.parent == 'thisFunction') {
// можем передать функции состояние ошибки, если логика работы вызвавшей или принимающей функции будет ожидать завершения какого-либо действия
}
}
// jquery
a = []; // где-то в глобале держим массив
$(window).on('keyup',function(e) {
console.log(e); // узнаем зачем нужен 'e'
// работаем в пределах window, можно изменить ХЗ что у Вас там
// так же можно сделать дополнительное условие if (e.key == 'Shift') {// если нажат Shift можно обнулить массив и начать все заново} или if (a[0] == 'Shift') {// проверка первой клавиши}
a.push(e.key); // пишем клавишу в массив
if (a.length > 1) {
// уже нажато две клавиши
// или тут можно сделать такое условие
if (a.indexOf('Shift') >= 0 && a.indexOf('ArrowRight') >= 0) {
console.log('условие выполнено');
move(a); // вызываем функцию
}
a = []; // обнуляем массив
}
});
function move(a) {
console.log(a);
}