Я проверил и прочитал пару статей по этому вопросу и попробовал несколько вещей, но ничего не работает. Проблема в том, что при нажатии кнопки в первый раз ничего не происходит. Во второй раз, когда его щелкнул, произойдет событие и запрос ajax. Помимо необходимости дважды щелкнуть кнопку, данные ajax запрашиваются и отображаются дважды. Я видел несколько статей, которые сказали, проверяя видимость кнопок, и если он проверяет, чтобы отключить/на другую видимость элементов, в этом случае его нет. Кроме того, у меня есть onclick кнопки вызова метода для запуска ajax. Что странно, когда я удалил код из метода и поместить его в DOM готового случае срабатывает в первый раз, но мои Аякса данные никогда не возвращаетКнопка onclick event не срабатывает при первом щелчке
кнопки HTML:
<input id="btnSearch" onclick="GetInfo();" type="button" value="Find ID" class="button-ffe" />
Вот код нажмите:
function GetInfo() {
var term = $('#txtUtente').val();
$('#btnSearch').click(function() {
var winW = window.innerWidth;
var winH = window.innerWidth;
var dialogoverlay = document.getElementById('dialogoverlay');
dialogoverlay.style.display = "block";
dialogoverlay.style.height = winH + "px";
$.ajax({
url: 'DAL/WebService1.asmx/GetPTSID',
method: 'post',
contentType: 'application/json;charset=utf-8',
data: JSON.stringify({ term: term }),
dataType: 'json',
success: function (data) {
document.getElementById('dialogoverlay').style.display = 'none';
$('#infoFoundID').html(data.d[0]);
$('#foundInfoMessage, #userInformation').show();
$('#registerProductInfo').hide();
var partTable = $('#partTable tbody');
$(data.d).each(function (index, id) {
partTable.append('<tr> <td>' + id + '</td><td>' + '<input onclick="GetPartNumber();" id="Button1" type="button" value="Copy Number" />' + '</td></tr>');
});
},
error: function (err) {
console.log(err);
}
});
});
} //end getinfo
Ну, с первого щелчка вы назначаете ему другое событие: $ ('# btnSearch'). Click (function()), поэтому в первый раз ничего не происходит. – JavaScript
Это то, что происходит, когда вы смешиваете привязку событий с помощью встроенного вызова.Используйте тот или иной, а не оба. – David