J’ai une boite de texte
Le texte dans la zone de texte est saisi via un Jquery DatePicker. Dans certains codes, je reçois le texte de cette zone de texte comme suit.
ssortingng x=checkIn.Text;
Pourquoi ne puis-je pas extraire la date saisie de la zone de texte? Je suppose que cela a à voir avec le fait qu’il est en lecture seule car lorsque je supprime cela, cela fonctionne?
Quelqu’un peut-il m’aider?
Dans ASP.Net, si la valeur readonly est modifiée, la valeur d’origine est rétablie dans la publication.
Vous pouvez utiliser un wrokaround, mais au lieu de spécifier de manière déclarative en readonly
, atsortingbuez-le en tant qu’atsortingbut dans code-behind. c’est à dire
au lieu de
appliquer c'est code-behind
checkIn.Atsortingbutes.Add("readonly", "readonly");
Mais le viewstate peut toujours ne pas fonctionner avec cela.
Plus d'informations:
Il existe une différence subtile entre disabled
contrôles en readonly
et disabled
contrôles disabled
en HTML. Les disabled
ne seront pas soumises avec le formulaire, mais celles en readonly
seront. Littéralement, readonly
est juste en lecture seule , mais disabled
est en réalité désactivé .
Du W3C: http://www.w3.org/TR/html401/interact/forms.html#h-17.12
( Descendez à la section 17.13.2 Contrôles réussis selon 17.13, Soumission du formulaire )
Cependant, ASP.Net rétablit la valeur d'origine lors de la publication si un contrôle est déclaré comme cela, c'est-à-dire si l'atsortingbut est défini lors de l'init. C'est pourquoi la définition ultérieure de l'atsortingbut (lors du chargement de la page) n'affectera pas ce comportement.
Utilisez ceci:-
Au lieu de cela:-
Ecrivez le code suivant dans votre fichier code, pour asp.net .cs ou fichier de classe et pour vb dans un fichier .vb.
Vous devrez l’écrire lors d’un événement de chargement de page, selon que vous le vouliez avant ou après (ou indépendamment des deux) …
textbox.Atsortingbutes.Add (“en lecture seule”, “en lecture seule”);
Essayez de readonly
false en readonly
avant de publier les valeurs via jQuery ou Java-Script. Ça devrait marcher.
$('#tbox').removeAttr('readonly');
Supposons que j’ai un asp:button
puis sur le client cliquez sur Je dois appeler une fonction qui supprime l’atsortingbut en lecture seule de la zone de texte.
et changez la fonction d’atsortingbut en javascript comme suit
function changeAtsortingbute() { $('#checkIn').removeAttr('readonly'); return true; }
Vous pouvez également laisser l’atsortingbut readOnly désactivé dans le contrôle asp: TextBox et utiliser jquery $ (‘# textbox’). Attr (‘readOnly’, ‘readOnly’).
Appliquer dans asp.cs Page: AttrName.Atsortingbutes.Add (“readonly”, “readonly”);
Veuillez utiliser:
Request.Form [txtText.UniqueID]