دسترسی سریع و آسان: استفاده از jQuery برای تنظیم مقدار یک فیلد متنی به فرم شیرپوینت

من شروع به بازی در اطراف با جی کوئری yesterday. I’ve been wanting to do this for a long time, همیشه از پل Grenier شروع به نوشتن مجموعه خود را در مورد jQuery را برای کاربران نهایی در ارجمند www.endusersharepoint.com web site. As I use it, I hope to add a series of “Quick and Easy” posts like this one. This post describes how to set a known text field’s value to anything you want.

در این سناریو, من یک لیست سفارشی که "جدید" شکل به نظر می رسد به عنوان نشان داده شده است:

image

این فرم جدید برای یک لیست سفارشی را با عنوان پیش فرض ستون و دو ستون فهرست (ستون نه سایت; من فکر نمی کنم آن را باید هر گونه اختلاف را).

هدف این است که برای تعیین مقدار دلخواه به میدان, "DefaultMeFieldNoSpaces (شما می توانید بگویید که من کمی ترسو "بدون فاصله" چیزی که در, اما من ادویه آن را در پایان این مقاله).

این بیت از jQuery برای من کار می کرد:

<نوع اسکریپت ="text/javascript">

  $(تابع() {

    $("ورودی[عنوان = DefaultMeFieldNoSpaces]').attr(
        {ارزش: شما در پیچ و خم پیچ خورده از معابر, همه به طور یکسان.});

  });

</خط>

همانطور که من آن را در درک این بیت از jQuery گفت:, “find me any input tag whose title = DefaultMeFieldNoSpaces. سپس, مجموعه ای از ارزش های خود را به عبارت مشهور از بازی های کامپیوتری قدیمی است. "

از آنجا که تنها یک فیلد در فرم با یک عنوان برابر به "DefaultMeFieldNoSpaces" ما از اختصاص یک مقدار به آن زمینه مطمئن و دیگر هیچ.

چه در مورد یک رشته که نام فاصله ها را در آن? It’s nearly the same:

<نوع اسکریپت ="text/javascript">

  $(تابع() {
     $("ورودی[TITLE = میدان اختصاص با فضای]').attr(
        {ارزش: شما در پیچ و خم پیچ خورده از معابر, همه به طور یکسان.});

  });

</خط>

من فکر می کنم این است که یک روش نسبتا ایمن, meaning that we should be able to find the field that we want and only the field we want. If you look at the HTML SharePoint is giving us, مرتب کردن بر اساس آن است از کثیف:

<ورودی
نام="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField"
نوع="text"
MAXLENGTH="255"
شناسایی="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
عنوان="DefaultMeFieldNoSpaces"
کلاس="ms-long"
/>

"عنوان" و خارج از غرفه به عنوان یک ویژگی تشخیص و امیدوارم منحصر به فرد برای کمک به ستون خاص که ما می خواهیم را به او واگذار مقدار دلخواه ما شناسایی با ما.

This is a foundational concept. Setting a field in an arbitrary way like this isn’t going to win any awards. اما, اگر ما می خواهیم به انجام چیزهای جالب تر به صورت سطح (که همه ما همیشه می خواهیم به انجام, البته, درست پس از پایان شستن ظروف), مانند تغییر مقدار "میدان B" به طور خودکار بر اساس ارزش "میدان", ما (من) نیاز به یادگیری این چیزها.

من فکر می کنم ما بهترین فرصت برای به دست آوردن ارزش واقعی مفید است از طریق عنوان, at least for text fields. There may be a better, more reliable approach. If I find it, من این پست را به روز رسانی کنید. If you know a better way, لطفا نظر را ترک کنید.</پایان>

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

5 دیدگاه در "دسترسی سریع و آسان: استفاده از jQuery برای تنظیم مقدار یک فیلد متنی به فرم شیرپوینت

  1. رایان

    سلام پل – من در سراسر پست خود را در حالی که تحقیق برای یک مشکل مشابه شد :-

    مدت زمان پیش فرض برای رویدادهای تقویم جدید.
    http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/

    یک ترفند شسته و رفته در مورد اسکریپت را بر روی شکل جدیدی وجود دارد – خود را به عنوان باهوش اما به عنوان spjqueryfield یا spff بزرگ خود را برای هک سریع.

    پاسخ
  2. پل گالوین

    اسکار, من یک رویکرد نه به عنوان چون من فقط شروع به استفاده از آن را به بازی در اطراف. همانطور که من شروع به استفاده از آن را در یک محیط تولید قطعا در مورد تجربه من ارسال.

    با تشکر برای لینک به spjqueryfield.

    پاسخ
  3. اسکار Austegard

    پل, رویکرد خود را برای تزریق JavaScript در مرورگر به صفحه ویرایش? انجام این کار در خدمت, شیوه ای ساده، کمی از روی حیله و تزویر است, تا آنجا که به من مربوط می. شما واقعا باید برای ایجاد یک فرم سفارشی در هر زمان… من فکر می کنم این, http://spjqueryfield.codeplex.com/ , یک شروع خوب است. استقرار آن را یک بار, پس از آن در صورت نیاز استفاده مجدد…

    پاسخ

پاسخ

آدرس ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *