salesforce - How to refer html element id specified in visualforce and pass onto javascript function? -
i have apex tag generate input text field.
<apex:page id="my_page"> <apex:inputtext id="foo" id="c_txt"></apex:inputtext> </apex:page> when clicks field, want execute javascript.
but when check html source, apex tag becomes input tag has (i think) dynamically generated part.
<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"> as can see id has junk part :(
id="j_id0:j_id3:j_id4:c_txt" in javascript i'm trying getelementbyid('c_txt') not work of course. how deal this???
update
seems can not working...
<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); the alert shows 'null' must wrong.
even alert returns null...
var targetdatefield = document.getelementbyid('{!$component.my_page:c_txt}'); alert(targetdatefield);
you can use $component notation in javascript, use so:
var e = document.getelementbyid("{!$component.componentid}"); one thing wary of though, if element contained within several levels of visualforce tags have ids:
<apex:pageblock id="theblock"> <apex:pageblocksection id="theblocksection"> <apex:commandlink action="{!someaction}" value="link!" id="thelink"/> // snip // in javascript reference component using: document.getelementbyid("{!$component.theblock.thesection.thelink}");
Comments
Post a Comment