سؤال

لدي نموذج عرض وجزء ويب للقائمة أسفل ذلك مباشرة.عندما ينقر المستخدمون على "إضافة عنصر جديد" في جزء الويب الخاص بالقائمة، أرغب في ملء القيم تلقائيًا.

يحتوي عنوان URL الخاص بنموذج diplay على DispForm.aspx?ID=1, ، ولكن عندما أقوم بفتح NewForm.aspx، أرغب في ملء حقل بهذا المعرف تلقائيًا.هل يمكنني تمرير هذا المعرف إلى NewForm أو على الأقل إلى عنوان url الخاص به حيث يمكنني استعادته من هناك؟يبدو أن كل ما يتم تمريره هو اسم القائمة الموجود بها نموذج العرض.

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

المحلول

بناءً على إعداداتك، سيتم فتح صفحة newform.aspx إما في مربع حوار (iframe) أو في صفحة جديدة.

إليك كيفية معالجة هذه المشكلة في مكتبة SPELL الخاصة بي:لا أقوم بتمرير المعرف في عنوان URL، ولكن بدلاً من ذلك أقوم بتشغيل برنامج نصي على newform.aspx يتبع الخطوات التالية:

  1. عند فتح النموذج الجديد، تحقق من النافذة الأصلية
  2. إذا كان الأصل موجودًا (مربع الحوار)، فسيتم تضمين المعرف في window.parent.location.href
  3. إذا لم يكن الأصل موجودًا (صفحة جديدة)، فتحقق من window.referrer

ملحوظة:في الممارسة العملية، قد يتم فتح صفحة newform.aspx من أكثر من نموذج عرض.لذلك قد تحتاج إلى شيء أكثر تعقيدًا من مجرد الانقسام ID=.

نصائح أخرى

يمكنك تحليل معلمة المعرف من سلسلة الاستعلام في Dispform.aspx، وبمجرد حصولك على قيمة المعرف، يمكنك تحديث الارتباط "إضافة عنصر جديد" وتمرير المعرف من DispForm.aspx.

يرجى الرجوع إلى تحليل سلسلة الاستعلام من جافا سكريبت لتحليل عنوان URL والحصول على قيمة من سلسلة الاستعلام.

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