Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have a jquery script in sharepoint to insert a date with attachment. It's in the edit page. It works only after refreshing the edit page. How can I solve this problem?

 <script type="text/javascript">
    $(document).ready(function () {
        SP.SOD.executeFunc("sp.js", 'SP.ClientContext', RenameAttachments);
    });
    var attfiles;
    function RenameAttachments() {
        var ctx = new SP.ClientContext.get_current();
        attfiles = ctx.get_web().getFolderByServerRelativeUrl('Lists/Test/Attachments/' + getUrlParameter('ID')).get_files();
        ctx.load(attfiles);
        ctx.executeQueryAsync(Function.createDelegate(this, this.onSuccess), Function.createDelegate(this, this.onFailed));
    }

......... etc

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
322 views
Welcome To Ask or Share your Answers For Others

1 Answer

Please find the modification of the code.

This will run on the load of the page and it will work when we edit the share-point page.

<script type="text/javascript">
    jQuery(window).load(() => {
        SP.SOD.loadMultiple(["sp.js", "clienttemplates.js"], RenameAttachments);
      });
    var attfiles;
    function RenameAttachments() {
        var ctx = new SP.ClientContext.get_current();
        attfiles = ctx.get_web().getFolderByServerRelativeUrl('Lists/Test/Attachments/' + getUrlParameter('ID')).get_files();
        ctx.load(attfiles);
        ctx.executeQueryAsync(Function.createDelegate(this, this.onSuccess), Function.createDelegate(this, this.onFailed));
    }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...