【问题标题】:inline edit dialog in salesforceSalesforce 中的内联编辑对话框
【发布时间】:2012-11-08 14:53:16
【问题描述】:

我正在尝试从主页(背景)中的 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/

问候 山姆

【问题讨论】:

    标签: jquery autocomplete salesforce visualforce


    【解决方案1】:

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

    在本例中,BillingStreet 可以通过$('#acc17street').html()获取

    但不要担心,有已知标准字段 ID 的编译列表。例如在这里滚动一下:http://phollaio.tumblr.com/post/22058016777/how-to-obtain-a-field-id 并考虑为这个人留下一个很好的评论,这样看起来我在这个问题上偷走了他的辛勤工作,没有任何回报;)


    编辑 :) 你到底在追求什么?你想捕捉这个盒子的内容吗?还是一般的地址详细信息?或者点击确定后做些什么?我认为您必须检查将鼠标悬停在地址字段上时可见的功能。

    <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 中找到定义

    【讨论】:

    • 我已经使用 jQuery Autocomplete 插件实现了自动完成功能。我已经在编辑页面的国家和州字段上实现了自动完成。但我无法在出现的对话框中这样做。这东西要了我的命!!
    • 我能够解决这个问题。我使用了以下代码: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(); }); });
    • 感谢您帮助我。我还提到了这个博客:blog.force365.com/2012/07/30/ui-tips-and-tricks-country-list
    • 科尔,这可能会在未来派上用场:) 你可以编辑你的问题,以便人们在寻找绑定自动完成以编辑页面和内联编辑时可以找到它:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多