2011-08-29 67 views
-1

我需要从一个JavaScript变量中获取一个值到Visualforce页面中的文本字段。 我得到了它使用命令button.But我想知道是否有任何其他方式得到它,因为我想要一个onclick事件。从javascript获得值到顶点代码

在此先感谢

回答

3

我不能被你的评论告诉你听什么大事,但假设你知道是什么,只是使用的document.getElementById()或jQuery的选择得到输入字段。如果您使用Apex:inputField,请使用“theField”之类的东西来定义id属性。当页面呈现时,Salesforce应该为真实标签提供一个id属性,例如'j_id0:j_id1:theField',但每次页面被查看时,这个可能并且可能会不同。这意味着你将需要通过子字符串来选择输入。以下是使用jQuery的一些示例代码(如果效率低下,请向任何jq大师表示歉意 - 请随时改进)。

<apex:page> 
    <apex:includeScript value="{!$Resource.jquery_1_6_1}"/> 
    <script> 
     jQuery.noConflict(); 
     jQuery(document).ready(function() { 
      jQuery('input[id*="theInput"]').val('Hello World'); 
     }); 
    </script> 
    <apex:form > 
     <apex:inputText value="{!phonenum}" id="theInput"/> 
    </apex:form> 
</apex:page> 
+0

你可以使用''#输入作为theInput''选择器的速度要快得多,特别是因为jQuery的可能,然后如果有使用''querySelectorAll''。或者Apex是否包装了该ID? –

+0

并非所有的VF标签在渲染时都有一个包装的标识,但是Apex:inputText是。你仍然需要一个'contains'类型的选择器,就像上面的代码中的一个子字符串一样。所以你必须让你的ID与众不同! – Aaron

+0

好的,所以你的选择器很好。你可以使用''.val('Hello World')'',但:) :) –