السلام عليكم عند اضافة اكواد رفع الصور الى صفحة النشر
في موقعي
و بعد اختيار الصورة و الضغط على زر رفع يتم اعادة تحميل الصفحة بدلا من رفع الصورة و توليد رابط مباشر لها
اكواد صفحة رفع الصور تعمل بشكل سليم و هي في صفحة منفصلة عن صفحة النشر ربما المشكلة في الازرار لا اعلم
هذا جزء رفع الصور <form id="upload-form" enctype="multipart/form-data"> <input type="file" name="file" id="file" accept="image/*,video/*" required> <br><br> <button type="submit">رفع</button> </form> <div id="progress-bar"> <div></div> </div> <div id="result"></div> <h3>روابط الصور المضافة:</h3> <div id="imageFieldsContainer"></div> <script> // دالة لإضافة حقل رابط صورة جديد function addImageField(url = '') { var container = document.getElementById('imageFieldsContainer'); var inputField = document.createElement('input'); inputField.type = 'url'; inputField.name = 'image_urls[]'; inputField.placeholder = 'رابط صورة (اختياري)'; inputField.style.width = '100%'; // إذا كان الرابط موجودًا، قم بضبط القيمة وجعل الحقل للقراءة فقط if (url) { inputField.value = url; inputField.readOnly = true; } container.appendChild(inputField); container.appendChild(document.createElement('br')); // إضافة سطر جديد بعد الحقل } document.getElementById('upload-form').addEventListener('submit', function(event) { event.preventDefault(); var fileInput = document.getElementById('file'); var file = fileInput.files[0]; var formData = new FormData(); formData.append('file', file); var xhr = new XMLHttpRequest(); xhr.open('POST', '', true); xhr.upload.onprogress = function(e) { if (e.lengthComputable) { var percentComplete = (e.loaded / e.total) * 100; document.querySelector('#progress-bar div').style.width = percentComplete + '%'; document.querySelector('#progress-bar div').textContent = Math.round(percentComplete) + '%'; } }; xhr.onload = function() { if (xhr.status == 200) { var response = JSON.parse(xhr.responseText); var resultDiv = document.getElementById('result'); if (response.success) { resultDiv.innerHTML = `<p>تم رفع الملف بنجاح. يمكنك الوصول إليه عبر الرابط التالي:</p>`; resultDiv.innerHTML += `<a href="${response.url}" target="_blank">${response.url}</a>`; // إضافة الرابط إلى حقل الصور تلقائيًا addImageField(response.url); } else { resultDiv.textContent = 'حدث خطأ أثناء رفع الملف.'; } } else { alert('حدث خطأ أثناء محاولة رفع الملف.'); } }; xhr.send(formData); }); </script> و هذا زر نشر المنشور <button type="submit" name="submit_post">نشر المنشور</button> </form>
التعليقات