J'ai une étiquette apex qui génère le champ de texte d'entrée.Comment référencer l'ID d'élément html spécifié dans visualforce et passer à la fonction javascript?
<apex:page id="my_page">
<apex:inputText id="foo" id="c_txt"></apex:inputText>
</apex:page>
Lorsque quelqu'un clique sur ce champ, je veux exécuter javascript.
Mais quand je vérifie la source HTML, cette balise apex qui devient une balise d'entrée a (je pense) une partie générée dynamiquement.
<input type="text" size="50" value="Tue Nov 16 00:00:00 GMT 2010"
name="j_id0:j_id3:j_id4:c_txt" id="j_id0:j_id3:j_id4:c_txt">
Comme vous pouvez le voir id a une partie indésirable :(
id="j_id0:j_id3:j_id4:c_txt"
Dans mon Javascript, je suis en train de getElementById('c_txt')
, mais cela ne fonctionne pas bien sûr. Comment gérer cette ???
MISE À JOUR
On dirait que je peux le faire, mais ne fonctionne pas ...
<apex:includeScript value="{!URLFOR($Resource.datepickerjs)}"></apex:includeScript>
<apex:inputText id="foo" id="c_txt" onclick="javascript:displayDatePicker()" />
datepickerjs
var elem = getElementById('c_txt');
alert(elem);
Les spectacles d'alerte de null 'si quelque chose doit être faux.
Même cette alerte renvoie null ...
var targetDateField = document.getElementById('{!$Component.my_page:c_txt}');
alert(targetDateField);
Merci d'avoir fourni un exemple de code avec un scénario de balise imbriquée! :) –
Bizarrement, si votre
Questions connexes