如何引用visualforce中指定的html元素id并传递给javascript函数?

如何引用visualforce中指定的html元素id并传递给javascript函数?,第1张

概述我有一个生成输入文本字段的顶点标记. <apex:page id="my_page"> <apex:inputText id="foo" id="c_txt"></apex:inputText></apex:page> 当有人点击此字段时,我想执行javascript. 但是当我检查HTML源代码时,这个成为输入标签的顶点标签有(我认为)动态生成的部分. <input type="tex 我有一个生成输入文本字段的顶点标记.
<apex:page ID="my_page">    <apex:inputText ID="foo" ID="c_txt"></apex:inputText></apex:page>

当有人点击此字段时,我想执行JavaScript.

但是当我检查HTML源代码时,这个成为输入标签的顶点标签有(我认为)动态生成的部分.

<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">

正如你可以看到ID有垃圾部分:(

ID="j_ID0:j_ID3:j_ID4:c_txt"

在我的JavaScript中,我正在尝试getElementByID(‘c_txt’),但这当然不起作用.怎么处理这个?

UPDATE

好像我可以做到这一点,但没有工作……

<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);

警报显示’null’,因此必定是错误的.

即使这个警报返回null …

var targetDateFIEld = document.getElementByID('{!$Component.my_page:c_txt}');alert(targetDateFIEld);
解决方法 您可以在JavaScript中使用$Component表示法,您可以这样使用它:
var e = document.getElementByID("{!$Component.ComponentID}");

但要注意的一件事是,如果您的元素包含在具有ID的几个Visualforce标记级别中:

<apex:pageBlock ID="theBlock">    <apex:pageBlockSection ID="theBlockSection">        <apex:commandlink action="{!someAction}" value="link!" ID="thelink"/>// snip// in JavaScript you would reference this component using:document.getElementByID("{!$Component.theBlock.theSection.thelink}");
总结

以上是内存溢出为你收集整理的如何引用visualforce中指定的html元素id并传递给javascript函数?全部内容,希望文章能够帮你解决如何引用visualforce中指定的html元素id并传递给javascript函数?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1133262.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存