2017-02-24 12 views
-2

機能です:関数が呼び出されるたびにjavascriptで一意のIDを作成するにはどうすればよいですか?ここ

function addAttachment() { 
    if (allowed_attachments <= 0) 
     return alert("', $txt['more_attachments_error'], '"); 

    document.getElementById("uploadBtn").onchange = function() {             
     document.getElementById("uploadFile").value = this.value; 
    }; 


    setOuterHTML(document.getElementById("moreAttachments"), 
     \'<div class="upload_attachment">\ 
      <input id="uploadFile" placeholder="File">\ 
      <label class="custom-file-input">\ 
       <input type="file" id="uploadBtn" name="attachment[]">\ 
      </label></div><span id="moreAttachments">\ 
     </span>\'); 
    allowed_attachments = allowed_attachments - 1; 
    return true; 
} 

UploadBtnとUploadFileは、私がこれをどのように行うか、ユニーク毎回する必要がありますか?

var UNIQUE_ID = 0; // the ID counter (will be incremented each time a new item is created so it'll be unique) 

function addAttachment() { 
    if (allowed_attachments <= 0) 
     return alert("', $txt['more_attachments_error'], '"); 

    document.getElementById("uploadBtn").onchange = function() {             
     document.getElementById("uploadFile").value = this.value; 
    }; 

    UNIQUE_ID++; // increment the ID counter 

    setOuterHTML(document.getElementById("moreAttachments"), 
     '<div class="upload_attachment">\ 
      <input id="uploadFile' + UNIQUE_ID + '" placeholder="File">\ 
      <label class="custom-file-input">\ 
       <input type="file" id="uploadBtn' + UNIQUE_ID + '" name="attachment[]">\ 
      </label></div><span id="moreAttachments' + UNIQUE_ID + '">\ 
     </span>'); 
    allowed_attachments = allowed_attachments - 1; 
    return true; 
} 
+0

「ユニークな」どのように一意である必要があります:私は本当にこのような – deceze

+0

短い答え:十分大きな乱数を生成する。 – deceze

+0

[Mongoh's Truly Uniquie ID](https://github.com/mongoh/tuid) –

答えて

1

使用日付オブジェクトのメソッドは、現在Date.now()

+0

IDがグローバルにユニークである必要がある場合は、十分ではありません。* ... – deceze

+0

常にユニークになります。 'Date.now()'を入力するたびに、現在のタイムスタンプが与えられます。あなたはコンソールヒットでこれを2-3回確認することができます。 –

+0

*グローバルにユニークであるということは、2人の異なる人がまったく同じ時間にそれを行うとしても、これは依然としてユニークでなければならないことを意味します...! – deceze

2

は(addAttachementの範囲外)グローバルオブジェクトを使用

を立ち往生していますか?世界的にユニーク?特定の時間枠内で1人のユーザにとって十分にユニークですか?
関連する問題