JavaScript لمسح حقل النموذج عند إرساله قبل تقديم النموذج إلى برنامج Perl Script

StackOverflow https://stackoverflow.com/questions/2542510

سؤال

لدينا شكل طويل جدًا يحتوي على عدد من الحقول و 2 أزرار إرسال مختلفة. عندما ينقر المستخدم على زر الإرسال الأول ("بحث الصورة") ، يجب أن ينشر النموذج وسيقوم البرنامج النصي الخاص بنا بالبحث عن مطابقة الصور بناءً على ما أدخله المستخدم في إدخال النص ("Photo_search_text") بجوار زر الإرسال الأول و إعادة تحميل النموذج بأكمله مع مطابقة الصور المضافة إلى النموذج. عند النقر فوق الزر "الإرسال" الثاني ("حفظ التغييرات") في نهاية النموذج ، يجب أن ينشر ويجب على البرنامج النصي تحديث قاعدة البيانات بالمعلومات التي أدخلها المستخدم في النموذج.

لسوء الحظ ، فإن تخطيط النموذج يجعل من المستحيل فصله إلى نموذجين منفصلين. لقد راجعت منشور النموذج بأكمله ، وللأسف ، تتطابق الحقول المقدمة مع البرنامج النصي PERL الذي يعالج تقديم النموذج بغض النظر عن زر الإرسال الذي تم النقر عليه حتى لا يستطيع البرنامج النصي PERL التمييز بين الإجراء الذي يجب تنفيذه بناءً على زر إرسال. الشيء الوحيد الذي يمكنني التفكير فيه هو تحديث إجراء OnClick لزر الإرسال الثاني بحيث يقوم بمسح حقل "Photo_search_text" قبل إرسال النموذج ثم إجراء بحث الصورة فقط إذا كانت هذه الحقول لها قيمة.

استنادًا إلى كل هذا ، سؤالي هو ما الذي يبدو عليه JavaScript الذي يمكن أن يزيل حقل "photo_search_text" عندما ينقر شخص ما على زر الإرسال الثاني؟ إليكم ما جربته حتى الآن لم يعمل أي منها بنجاح:

<input type="submit" 
       name="submit" 
       onclick="document.update-form.photo_search_text.value='';" 
       value="Save Changes"
>

<input type="submit" 
       name="submit" 
       onsubmit="document.update-form.photo_search_text.value='';" 
       value="Save Changes"
>

<input type="submit" 
       name="submit" 
       onclick="document.getElementById('photo_search_text')='';" 
       value="Save Changes"
>

نستخدم أيضًا jQuery على الموقع ، لذا إذا كانت هناك طريقة للقيام بذلك باستخدام jQuery بدلاً من JavaScript العادي ، فلا تتردد في تقديم رمز مثال لذلك بدلاً من ذلك. أخيرًا ، إذا كانت هناك طريقة أخرى للتعامل مع هذا ، فأنا لا أفكر في أي وجميع الاقتراحات ستكون موضع ترحيب.

شكرا مقدما لمساعدتكم!

هل كانت مفيدة؟

المحلول

السبب

أحد الأسباب المحتملة هو أنك تحتاج إلى كائن CAMLQUERY كمعلمة عند استدعاء قائمة .getitems () ( msdn ).إذا اشتقت ذلك، فستحصل على "خطأ غير معروف" من args.get_message ().
لذلك، لجعلها تعمل، يمكنك ببساطة تهيئة كائن Camlquery جديد، وتغيير التعليمات البرمجية الخاصة بك إلى: giveacodicetagpre.

إذا كنت ترغب في دعم التصفية أو الفرز في الاستعلام، يمكنك الاتصال: giveacodicetagpre.

قبل list.getItems (الاستعلام).لمزيد من المعلومات حول كيفية استرجاع عناصر القائمة، يمكنك التحقق من هنا .آمل أن يكون مفيدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top