salesforce中的内联编辑对话框

时间:2012-11-08 14:53:17

标签: jquery autocomplete salesforce visualforce

我试图从主页面(背景)中的jquery脚本位置访问对话框中的输入元素,但我无法这样做。当我双击主页面中的“帐单地址”字段时,会弹出此对话框。

请告诉我如何从主页访问对话框中的表单元素?

编辑:

实际上,当加载联系页面详细信息页面时,您将找不到具有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 个答案:

答案 0 :(得分:1)

您可以在自己选择的浏览器中轻松使用Firebug(或任何其他开发人员工具)来学习这些内容。

在此示例中,可以通过$('#acc17street').html()

获取BillingStreet

firebug example

但是不要害怕,有已知标准字段ID的编译列表。在这里滚动一点例如:http://phollaio.tumblr.com/post/22058016777/how-to-obtain-a-field-id并考虑为这个人留下一个好评,所以看起来我并没有在这个问题中偷走他的辛勤工作而不给予回报;)


编辑:)你有什么好看的?你想捕获这个盒子的内容吗?或者一般地说明细节?点击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

中找到该定义