Tengo la etiqueta apex que genera el campo de texto de entrada.¿Cómo remitir el id del elemento html especificado en Visualforce y pasar a la función javascript?
<apex:page id="my_page">
<apex:inputText id="foo" id="c_txt"></apex:inputText>
</apex:page>
Cuando alguien hace clic en este campo, quiero ejecutar javascript.
Pero cuando miro la fuente HTML, esta etiqueta apex que se convierte en etiqueta de entrada tiene (creo) parte generada dinámicamente.
<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">
Como se puede ver de identificación tiene parte basura :(
id="j_id0:j_id3:j_id4:c_txt"
En mi Javascript Estoy intentando getElementById('c_txt')
pero esto no funciona, por supuesto. ¿Cómo lidiar con esto ???
ACTUALIZACIÓN
parece que puedo hacer esto pero no funciona ...
<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);
Los espectáculos de alerta 'nulo' así que algo debe estar mal.
Incluso esta alerta devuelve null ...
var targetDateField = document.getElementById('{!$Component.my_page:c_txt}');
alert(targetDateField);
Gracias por proporcionar el código de muestra con el escenario de etiqueta anidada! :) –
Extrañamente, si su