Предполагается, что функция загружает предложения в зависимости от того, что пользователь введет в текстовое поле.
События onkeyup и onblur должны иметь оценку текстового поля, тогда результат будет передан в изначально скрытый элемент div, который до подачи данных будет показан первым.
Изначально эти события были включены в тег, который отлично работает для Firefox.
В качестве альтернативы я попытался удалить событие из тега и использовал селектор jQuery $ (), чтобы связать событие с функцией, которая делает его не работающим ни в одном браузере сразу после этого.
Это код, который работает для Firefox, но не в IE и Chrome.
<td align="center">
<input type='text' size='25' id='dr' name='dr' style="width: 45px" onkeyup='drKeyUpFunction(this.value);' onblur='drBlurFunction();'>
<div id='drSuggestions' class='suggestionsBox' style='display: none'>
<div id='drSuggestionsList' class='suggestionList'></div>
</div>
</td>
<td align="center">
<input type='text' size='25' id='outExpense' name='outExpense' style='width: 85px' onkeyup='expKeyUpFunction(this.value);' onblur='expBlurFunction();'>
<div id='expSuggestions' class='suggestionsBox' style='display: none'>
<div id='expSuggestionsList' class='suggestionList'></div>
</div>
</td>
function drKeyUpFunction(dr_num=''){
if (dr_num.length == 0){ $('#drSuggestions').hide();
} else {
$.post("post_dr.php", {string: "" + dr_num + ""}, function(data){
if (data.length > 0) {
$('#drSuggestions').show();
$('#drSuggestionsList').html(data);
}
});
}
}
function drBlurFunction(thisValue='', thatValue='', anotherValue=''){
$('#dr').val(thisValue);
$('#drcust').html(thatValue);
$('#drbal').html(anotherValue);
setTimeout("$('#drSuggestions').hide();", 200);
}
function expKeyUpFunction(expense=''){
if (expense.length == 0){ $('#expSuggestions').hide();
} else {
$.post("post_expense.php", {string: "" + expense + ""}, function(data){
if (data.length > 0) {
$('#expSuggestions').show();
$('#expSuggestionsList').html(data);
}
});
}
}
function expBlurFunction(thisValue=''){
$('#outExpense').val(thisValue);
setTimeout("$('#expSuggestions').hide();", 200);
}
В качестве альтернативы я удалил события из входного тега и поместил эти селекторы jQuery в файл js, содержащий функции, но они больше не работают после того, как я их поместил.
$('#dr').keyUp(drKeyUpFunction(this.value)).blur(drBlurFunction());
$('#outExpense').keyUp(expKeyUpFunction(this.value)).blur(expBlurFunction());
Что ожидается от этого кода - это div, показывающий доступные предложения для всех браузеров.
Буду очень признателен, если вы поможете мне.