إدخال حقل ملف لإدخال حقل النص
-
02-10-2019 - |
سؤال
لا أعرف حتى ما إذا كان هذا ممكنًا أم لا ، لكن هل هناك طريقة يمكنك أخذ قيمة الملف المحدد في إدخال ملف حقل إلى مدخلات نص مجال؟
مثله:
المحلول
ربط على change
حدث حقل الملف.
<form method="post" enctype="multipart/form-data">
<input type="file" onchange="this.form.filename.value = this.value">
<input type="text" name="filename">
</form>
JSfiddle Demo. لاحظ أن IE6/7 يعطي المسار الكامل بشكل غير صحيح بينما يعطي المتصفحات الأخرى بشكل صحيح فقط اسم الملف.
نصائح أخرى
يجب أن يكون هذا ممكنًا عن طريق إنشاء عنصر إدخال نص جديد وملءه مع .value
خاصية إدخال الملف.
لاحظ ، مع ذلك ، أن جميع المتصفحات الحديثة فقط اسم الملف في ال value
الممتلكات لأسباب أمنية. لن تتمكن من الحصول على المسار الكامل للملف المحدد.
مصادر: MSDN على IE8
لا يمكنك القيام بذلك دون تخزين الملف أولاً على الخادم الخاص بك.
عنصر التحكم في إدخال الملف يعمل ليس تحتوي على بيانات الملف. يوفر لك متصفحك لك حاملًا نائبًا حتى تقوم بإرسال بيانات الملف عبر تقديم نموذج نشر.
إذا كنت بعد مسار الملف ، فلا يمكنك أيضًا القيام بذلك (في المتصفحات الحديثة ، كما تقول Pekka). لا يعطي المتصفح هذه المعلومات إلى البرامج النصية من جانب العميل. قد يوفر اسم الملف ، ولكن.