J'ai une zone de texte multiligne qui, par défaut, est définie sur ReadOnly. Je voudrais un bouton sur la page pour changer le contrôle pour lui permettre d'être édité. Je voudrais que ce code s'exécute du côté client car la page est rendue lentement et j'aimerais éviter la publication.Suppression de l'attribut READONLY de la zone de texte à l'aide du code côté client
Le problème que j'ai est le code javascript que j'ai écrit pour supprimer l'attribut readonly semble n'avoir aucun effet. J'ai posté un exemple dépouillé qui illustre le problème pour votre avis.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test</title>
<script type="text/javascript" language="javascript">
function EnableEditing() {
var e = document.getElementById("<%=TextBox1.ClientID%>");
var result = e.removeAttribute("readonly");
alert(result);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div> </div>
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" TextMode="MultiLine">test</asp:TextBox>
<input id="Button1" onclick="EnableEditing()" type="button" value="Remove RO" />
</form>
</body>
</html>
En cochant la source, la zone de texte a un ID de TextBox1. Cependant, je vous ai fait changer de toute façon pour des raisons de précision. Cela n'a fait aucune différence. Vous ne pouvez toujours pas modifier la zone de texte. – Aheho
@Aheho passer le deuxième param dans 0 (je ai ammended mon code) pour lui dire de faire une recherche insensible à la casse, vous devez utiliser le ClientId aussi, il vous assure obtenir le bon ID qui ne sera pas toujours le même, surtout si le les contrôles sont imbriqués dans d'autres contrôles – Pharabus
Cela fonctionne. Merci! – Aheho