سلام
من کدزیر را نوشته ام
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <table> <tr> <td><input type="file" name="file"></td> </tr> <tr> <td><input type="file" name="file"></td> </tr> <tr> <td><input type="file" name="file"></td> </tr> </table> <br/> <br/> <button id="check">Check</button> </body> <script src="jquery-3.3.1.min.js"></script> </html>
چگونه می توانم وقتی کاربر روی دکمه check کلیک کردم اگر کاربر فایل تکراری وارد کرده بود(از نظر نام) پیام بدهد که فایل تکراری وجود دارد
باتشکر
با سلام خدمت شما دوست عزیز
از کد زیر میتونین استفاده کنین :
$("#check").click(function (e) { var files = $('input[type="file"]'); var fileNames = []; var duplicates = []; $.each(files, function (index, value) { if(value.files.length !== 0){ fileNames.push(value.files[0].name); } }); duplicates = fileNames.filter((item, index) => fileNames.indexOf(item) != index); if(duplicates.length !==0) { alert ('فایل تکراری وجود دارد'); } });
ابتدا یه ارایه تعریف میکنیم برای دریافت تمام input های مربوط به file
ارایه ی دیگه ای رو برای استخراج نام های مربوط به فایل ها در نظر میگیریم ( البته میشه این کار رو نکرد و نام فایل رو از ارایه ی مربوط به فایل ها دریافت کرد )
ارایه ی بعدی برای استخراج نام های تکراری هستش
در متد each نام فایل هارو استخراج میکنیم و پس از اون ، با متد filter ، نام های تکراری رو از ارایه ی مربوط به نام فایل ها استخراج میکنیم
در نهایت در صورت وجود داشتن نام تکراری ، یک Alert به نمایش در خواهد آمد
اگر سوالی براتون پیش اومد مطرح کنین
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)