【问题标题】:Need to update Status in Task table of Salesforce Database需要更新 Salesforce 数据库任务表中的状态
【发布时间】:2013-02-12 11:52:21
【问题描述】:

在我的应用程序中,我使用了 salesforce 数据库。单击按钮后,我需要更新任务字段的状态。我使用 html 文件中的代码来获取 newStatus-

<a id="btnTaskUpdateStatus" href="#task_status_change_page" data-rel="popup" data-position-to="window" data-transition="pop">
    <img src="images/task_edit24.png" width="32" height="32" />
</a>
<div data-role="popup" id="task_status_change_page" data-overlay-theme="a" data-theme="c" style="width:280px !important">
    <script>$('select').selectmenu({ preventFocusZoom: true });</script>
    <div data-role="header" data-theme="b">
        <h1>Update Status</h1>
    </div>
    <div data-role="content" data-theme="d">
        <div data-role="fieldcontain">
            <label for="select-task-status" class="select"><strong>Status:</strong></label>
            <select id="select-task-status" name="select-status" class="selectmenu">
                <option value="Not Started">Not Started</option>
                <option value="In Progress">In Progress</option>
                <option value="Completed">Completed</option>
                <option value="Waiting On someone else">Waiting On someone else</option>
                <option value="Deffered">Deferred</option>
            </select>
        </div>
        <div data-role="controlgroup" data-type="horizontal" class="center-wrapper">
            <a id="btnTaskUpdateSubmit" data-role="button" data-inline="true" data-direction="reverse" data-rel="back" >Submit</a>
        </div>
    </div>
</div>

现在在 js 文件中我使用了代码 -

$j('#btnTaskUpdateStatus').click(function(e) { var recordId = $j('#TaskRecordId').val(); 如果 (recordId != null ) { var currStatus = $j('#TaskStatus').text(); updateHTMLVal('#select-task-status', currStatus); $('#select-task-status').selectmenu('refresh'); } $j('#btnTaskUpdateSubmit').click(function(e){ var newStatus = $("#select-task-status").val(); 如果(新状态!= currStatus){ changeTaskStatus(recordId, newStatus,creds); $('#select-task-status').selectmenu('refresh'); $('#TaskStatus').html(newStatus); } }); }); 函数 changeTaskStatus(Id, newStatus) { 变量字段 = {}; 字段[“状态”] = 新状态; forcetkClient.update('Task', Id, fields, function(response) { 警报(“更新”); }, onErrorSfdc); }

现在我的问题是,当我更新状态时,它会正确更新,但是下次我再次更改另一个任务“$j('#btnTaskUpdateSubmit').click(function(e){”的状态时,此函数调用了两次,并且新任务的状态覆盖了以前的任务状态。

如果我的问题不清楚,请指导我如何以您的方式更新任务状态。 提前致谢。任何帮助表示赞赏。

【问题讨论】:

    标签: javascript jquery salesforce


    【解决方案1】:

    您可能正在将函数堆叠到 $j('#btnTaskUpdateSubmit') 元素上。在添加新的单击事件处理程序之前,请尝试删除当前的单击事件处理程序。像这样:

    $j('#btnTaskUpdateStatus').click(function(e) {
        var recordId = $j('#TaskRecordId').val();
        if (recordId != null ) {
            var currStatus = $j('#TaskStatus').text();
            updateHTMLVal('#select-task-status', currStatus);
            $('#select-task-status').selectmenu('refresh');
        }
        // Remove any existing click handlers
        $j('#btnTaskUpdateSubmit').unbind('click');
    
        $j('#btnTaskUpdateSubmit').click(function(e){
            var newStatus = $("#select-task-status").val();
            if (newStatus != currStatus) {
                changeTaskStatus(recordId, newStatus,creds);
                $('#select-task-status').selectmenu('refresh');
                $('#TaskStatus').html(newStatus);
             }
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 2011-11-28
      相关资源
      最近更新 更多