2012-11-08 70 views
1

我想从主页(后台)中的jQuery脚本位置访问对话框中的输入元素,但我无法这样做。当我双击主页面中的帐单地址字段时,弹出此对话框。salesforce中的内嵌编辑对话框

请让我知道如何从主页面访问对话框中的表单元素?

编辑:

实际加载的联系页面详细信息页面的时候,你不会找到ID为con19country一个领域,但只有你双击这个领域在DOM可用的邮件地址后。此外,div(id = InlineEditDialog)包含在双击邮寄地址时变为可见的字段也会在HTML中变灰。再次http://i.stack.imgur.com/7cdd4.jpg

编辑:这里检查图像

我能够访问该对话框终于..

j$("[id*=_ilecell]").bind('dblclick', function(){ 
     var elementID = j$(this).attr('id'); 
     if (!sfdcPage.editMode) 
     sfdcPage.activateInlineEditMode(); 

     if (!sfdcPage.inlineEditData.isCurrentField(sfdcPage.getFieldById(elementID))) 
     sfdcPage.inlineEditData.openField(sfdcPage.getFieldById(elementID)); 
     stateCountryAutocomplete(); 
    }); 
}); 

您也可以参考这个博客有进一步的帮助:http://blog.force365.com/2012/07/30/ui-tips-and-tricks-country-list/

问候 山姆

回答

1

您可以轻松地在浏览器中使用Firebug(或任何其他开发人员工具)你选择了解这些。

在这个例子中BillingStreet可以通过$('#acc17street').html()

firebug example

但是恐不能得到,有被编译已知的标准字段ID的列表。这里滚动了一下,例如:http://phollaio.tumblr.com/post/22058016777/how-to-obtain-a-field-id并考虑留下一个很好的意见,这家伙所以它看起来并不像我偷了他在这一问题给予任何回报,辛勤工作;)


编辑:)什么exacly你以后?你想捕获这个盒子的内容吗?或一般地址详细信息?或者点击OK后做点什么?我想你必须检查当你悬停在地址栏上时可见的功能。

<td 
onmouseover="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOverField(event, this);" 
onmouseout="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOutField(event, this);" 
onfocus="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOverField(event, this);" 
ondblclick="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.dblClickField(event, this);" 
onclick="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.clickField(event, this);" 
onblur="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOutField(event, this);" id="con19_ilecell" 
class="dataCol col02 inlineEditWrite"> 
    <div id="con19_ileinner">2335 N. Michigan Avenue, Suite 1500<br>Chicago, IL 60601, USA<br> </div> 
</td> 

试图找到这个sfdcPage的定义,如果你可以覆盖一些与“不管他们最初做+你的行为”的功能?这是一个由原型构建的对象,其名称为DetailPage,您可以在/jslibrary/(some timestamp)/sfdc/main.js

+0

中找到定义更新的问题。 – Anamadeya

+0

我已经使用jQuery Autocomplete插件实现了自动完成功能。我在编辑页面中的国家和州字段上实施了自动完成功能。但是我无法在出现的对话框中这样做。这东西正在杀我! – Anamadeya

+1

我能解决这个问题。我用下面的代码:\t \tĴ$( “[ID * = _ ilecell]”)结合( 'DBLCLICK',函数(){ \t \t \t VAR elementID = j的$。 (本).attr( '身份证'); \t \t \t如果(!sfdcPage.editMode) \t \t \t sfdcPage。activateInlineEditMode(); \t \t \t \t \t \t如果 \t \t \t sfdcPage.inlineEditData.openField(sfdcPage.getFieldById(elementID))(sfdcPage.inlineEditData.isCurrentField(sfdcPage.getFieldById(elementID))!); \t \t \t stateCountryAutocomplete(); \t \t}); \t}); – Anamadeya