У меня есть javascript-код, который нажимает на кнопку для меня. Он работает при размещении на машине 1, но при размещении на машине 2 вызов .GetElementByID возвращает Null.getElementById работает в одной среде, но не в другом
, ИС код выглядит следующим образом:
function ClickAButtonForMe() {
var btn = null;
var btnClientID = '<%= btnReset.ClientID %>';
//this comes back with a valid clientID on **both** machines
alert("btnClientID=/" + btnClientID + "/, nodevalue=/" + nodeValue + "/");
if (0 < btnClientID.length) {
btn = document.getElementById(btnClientID);
}
if (btn != null) {
//on machine 1, this works as expected
btn.click();
}
else {
//on machine 2, i come here
alert("button not found");
}
}
Декларация кнопки в моем файле ASCX выглядит следующим образом:
<div id="div_Reset" class="eventManagementButtonWrapper" runat="server">
<div>
<asp:Button class="eventManagementButton" ID="btnReset" ValidationGroup="None" runat="server"
Text="Reset" />
</div>
</div>
Другими словами, я могу получить ClientID для моя кнопка в и окружающая среда. Но когда я пытаюсь на самом деле захватить кнопку сама, она терпит неудачу на машине 2.
Может ли кто-нибудь предложить возможные вещи, на которые можно обратить внимание при выяснении причины этого несоответствия? Я попытался изменить ClientIDMode на «Static», который ничего не делает, кроме изменения идентификатора клиента в первом сообщении отладки.
Что вы хотите от кнопки? Существуют подходы, которые не зависят от захвата идентификаторов элементов. –
Что нового в машинах 1 и 2? Кроме того, это только для работы в IE? 'click()' зависит от IE. –
@Diodeus - большая картинка есть два элемента управления TreeView на экране. Щелчок по кнопке сместит выбранные узлы из дерева слева в дерево справа. Я пытаюсь автоматизировать их с помощью этого действия, когда пользователь нажимает на дерево. Функциональность работает на моей локальной машине, но не на машине развертывания. – JosephStyons