من شروع به بازی در اطراف با جی کوئری 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.
در این سناریو, من یک لیست سفارشی که "جدید" شکل به نظر می رسد به عنوان نشان داده شده است:
این فرم جدید برای یک لیست سفارشی را با عنوان پیش فرض ستون و دو ستون فهرست (ستون نه سایت; من فکر نمی کنم آن را باید هر گونه اختلاف را).
هدف این است که برای تعیین مقدار دلخواه به میدان, "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
سلام پل – من در سراسر پست خود را در حالی که تحقیق برای یک مشکل مشابه شد :-
مدت زمان پیش فرض برای رویدادهای تقویم جدید.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
یک ترفند شسته و رفته در مورد اسکریپت را بر روی شکل جدیدی وجود دارد – خود را به عنوان باهوش اما به عنوان spjqueryfield یا spff بزرگ خود را برای هک سریع.
کریستف, با تشکر برای لینک!
اسکار, من یک رویکرد نه به عنوان چون من فقط شروع به استفاده از آن را به بازی در اطراف. همانطور که من شروع به استفاده از آن را در یک محیط تولید قطعا در مورد تجربه من ارسال.
با تشکر برای لینک به spjqueryfield.
پل, رویکرد خود را برای تزریق JavaScript در مرورگر به صفحه ویرایش? انجام این کار در خدمت, شیوه ای ساده، کمی از روی حیله و تزویر است, تا آنجا که به من مربوط می. شما واقعا باید برای ایجاد یک فرم سفارشی در هر زمان… من فکر می کنم این, http://spjqueryfield.codeplex.com/ , یک شروع خوب است. استقرار آن را یک بار, پس از آن در صورت نیاز استفاده مجدد…
پل دارای یک پروژه Codeplex درباره دستکاری فیلد های فرم شیرپوینت:
http://spff.codeplex.com/