Я пачаў гуляць з JQuery yesterday. I’ve been wanting to do this for a long time, з тых часоў як Поль Гренье пачаў пісаць яго серыя аб 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"> $(функцыя() { $("Уваход[Назва = Прызначыць поля з прасторай]").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" ID="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. Аднак, калі мы хочам зрабіць больш цікавае узроўні формы (які мы ўсе заўсёды хочуць зрабіць, вядома, адразу пасля завяршэння мы мыцця посуду), як змяніць значэнне "поля б» аўтаматычна ў залежнасці ад значэння "поле", мы (Я) трэба даведацца гэтыя рэчы.
Я думаю, што наш самы лепшы шанец атрымаць рэальную карысную значэнне тут па назве, at least for text fields. There may be a better, more reliable approach. If I find it, Я буду абнаўляць гэты пост. If you know a better way, калі ласка, пакіньце каментар.</канец>
</канец>
Выконвайце за мной на Twitter у 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 аб працы з палямі формаў SharePoint:
http://spff.codeplex.com/