J'utilise JavaScript et cette erreur apparaît pour moi pendant l'exécution: ceci mon code: p>
7 Réponses :
ceci: doit être ceci: p> Le problème est que votre bouton est un contrôle ASP.NET et Générez son propre identifiant client, qui sera différent de l'ID que vous avez spécifié. Mettre dans le code <% = btnalert.clientid%> code> postera le généré sur le navigateur. P> p>
Si vous regardez la page rendue, le contrôle appelé BTNALELRT n'est plus ce nom ... P>
Si vous ajoutez "<% =", vous pouvez ensuite accéder au nom C # d'un contrôle, et cela devrait fonctionner. P>
L'ID que vous donnez le bouton ASP: est l'ID utilisé sur le serveur par ASP.NET. Ce n'est pas l'identifiant utilisé par le script client.
Vous devez utiliser: P>
document.getElementById("<%= btnAlelrt.ClientID %>").click();
Si vous affichez la source sur votre page générée, vous constaterez probablement que le bouton n'a plus l'identifiant "BTNALELRT". Il pourrait avoir quelque chose comme "CTL001_BTNALERT", ou un autre identifiant d'unicité généré. P>
C'est pourquoi votre JavaScript ne le trouve pas. P>
Vous devez soit rechercher par balise, puis vérifier les identifiants pour voir si elles se terminent par BTnalelrt, ou vous devrez placer une div ou une portée autour d'elle avec un identifiant qui ne sera pas changé (c'est-à-dire 't avoir runat = "serveur"). Vous pouvez ensuite trouver cet élément par son identifiant, puis obtenir le bouton à l'intérieur de celui-ci. P>
Si vous le pouvez, vous pouvez utiliser la syntaxe <% = btnalelrt.clientid%> Syntaxe pour insérer l'identifiant approprié dans votre JavaScript. P>
(Sidenote: Est-ce que cela était censé être BNkerert?) P>
Je ne trouve pas d'échantillon de code pour poster pour vous pour vous en ce moment, mais je peux expliquer le problème de votre choix. P>
ASP.NET n'utilise pas l'identifiant que vous donnez un objet / élément / bouton quand il l'écrit à la page, cela donne à l'objet un identifiant client. P>
Si vous faites msgbox (btnalelrt.clientid) dans votre code, vous verrez le nom d'objet que votre JavaScript devrait utiliser. p>
Il est préférable d'avoir le code .NET Notez ces valeurs, en JavaScript, sur la page, car ils ne sont pas une constante. P>
J'espère que cela aide. P>
James p>
Vous pouvez utiliser ceci: à partir de asp.net 4.0 Vous pouvez utiliser ClientIdMode Propriété pour votre élément. Et si vous le définissez dans sera rendu comme quelque chose comme ceci: p> statique code>, la valeur code> client code> sera définie sur la valeur de la propriété ID: p>
Merci, la clientIdMode = "statique" sauvegardez mon problème car je n'ai pas pu obtenir le div en JavaScript.
Essayez d'utiliser clientIdMode = "statique". Cela ne changera pas de bouton de bouton à l'exécution.
var element = document.getElementById('SendMessageButton');