Bonjour à tous,
Je pêche un peu sur le fait d'ajouter dynamiquement un event sur un input text.
Au départ dans mon code HTML l'input est déjà défini avec un event onclick :
<input type="text" style="width:250px;" id="MachineObjectOU" name="MachineObjectOU" onclick="javascript:TogglePopupBox('MachineObjectOU');" onkeydown="javascript:TogglePopupBox('MachineObjectOU');" onpropertychange="javascript:ValidateOU();" />
Cela fonctionne très bien.
Maintenant j'ai besoin à un moment donné de virer l'event dans un cas précis, mais aussi de le remettre dans un autre cas.
Donc pour le virer je fais tout simplement côté VBS :
MachineObjectOU.onclick = ""
Mais c'est pour le redéfinir que ça se corse
J'ai essayer ceci :
MachineObjectOU.onclick = "TogglePopupBox('MachineObjectOU');"
Ceci :
MachineObjectOU.onclick = "function onclick() { TogglePopupBox('MachineObjectOU'); }"
MachineObjectOU.onclick = "function () { TogglePopupBox('MachineObjectOU'); }"
MachineObjectOU.onclick = "javascript:function () { TogglePopupBox('MachineObjectOU'); }"
Et ça ne fonctionne pas...
J'ai trouvé ceci qui donne satisfaction :
1 2 3 4
| Dim sOUClick
If sOUClick = "" Then
Set sOUClick = MachineObjectOU.onclick
End If |
Puis :
Set MachineObjectOU.onclick = sOUClick
Mais bon cela oblige d'utiliser une var de stockage ce qui n'est pas top
Ce qui m'étonne aussi c'est que VarType de sOUClick donne 8 donc c'est bien un string qui contient function onclick() { TogglePopupBox('MachineObjectOU'); }
Mais si je ne fais pas de Set à l'enregistrement et à la redéfinition de l'event, cela ne fonctionne pas....
Ce n'est pourtant pas un object.
Si quelqu'un à une idée je suis preneur
Merci à vous !
Partager