Jag började spela med jQuery Igår. Jag har velat göra detta länge, ända sedan Paul Grenier började skriva hans serie om jQuery för slutanvändare på den ärevördiga www.endusersharepoint.com webbplats. Eftersom jag använder den, Jag hoppas att lägga till en serie "Snabb och lätt" inlägg som den här. Det här inlägget beskriver hur du anger en känd text fältvärdet till vad du vill.
I det här scenariot, Jag har skapat en anpassad lista vars "nya" form ser ut som visas:
Detta är den nya formen för en anpassad lista med kolumnen standard och två listkolumner (inte webbplatskolumner; Jag tror inte att det skulle göra någon skillnad).
Målet är att tilldela ett godtyckligt värde i fältet, "DefaultMeFieldNoSpaces" (Du kan berätta jag är lite feg med "inga blanksteg" sak händer, men jag krydda upp det i slutet av denna artikel).
Denna bit av jQuery fungerade för mig:
<script typ ="text/javascript"> $(funktionen() { $("ingång[titel = DefaultMeFieldNoSpaces]').attr( {värde: "Du är en krånglig labyrint av gångar, alla lika. "}); }); </skript>
Som jag förstår det denna bit av jQuery säger, "hitta mig någon input tag vars titel = DefaultMeFieldNoSpaces. Sedan, Ställ alla deras värden på en berömd fras från en gammal datorspel".
Eftersom det endast blir ett fält i formuläret med en titel lika med "DefaultMeFieldNoSpaces" är vi försäkrade för att tilldela ett värde till fältet och ingen annan.
Vad sägs om ett fält vars namn innehåller blanksteg? Det är nästan samma:
<script typ ="text/javascript"> $(funktionen() { $("ingång[titel = tilldela fält med utrymme]').attr( {värde: "Du är en krånglig labyrint av gångar, alla lika. "}); }); </skript>
Jag tror att detta är ett ganska säkert tillvägagångssätt, vilket innebär att vi kan hitta det fält som vi vill och bara fältet vill vi. Om man tittar på ger HTML-SharePoint oss, Det är slags rörigt:
<input Namn= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField" typ= "text" MaxLength= "255" ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" titel= "DefaultMeFieldNoSpaces" klass= "ms-lång" />
"titel" står ut som en igenkännlig och förhoppningsvis unika attribut till hjälpa oss att identifiera särskilda kolumnen som vi vill tilldela våra godtyckligt värde.
Detta är ett grundläggande begrepp. Anger ett fält på ett godtyckligt sätt som denna kommer inte att vinna några priser. Men, om vi vill göra mer intressant form nivå saker (som vi alla alltid vill göra, Självklart, direkt efter vi avslutar diska), som ändra värdet för "fältet b" automatiskt baserat på värdet av "fältet en", Vi (JAG) behöver lära sig dessa saker.
Jag tror att vår bästa chans att få ett riktigt användbart värde här är via titeln, åtminstone för textfält. Det kan finnas en bättre, mer tillförlitlig metod. Om jag tycker att det, Jag kommer uppdatera detta inlägg. Om du vet ett bättre sätt, lämna gärna en kommentar.</slutet>
</slutet>
Följ mig på Twitter vid http://www.twitter.com/pagalvin
Hej Paul – Jag kom över ditt inlägg medan forska för en liknande problem :-
Ange standardlängd för nya kalenderhändelser.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
Det är ett snyggt trick om att få skriptet på den nya formen – Det är inte lika smart som spjqueryfield eller spff men dess stora för en snabb hacka.
Christophe, Tack för länken!
Oskar, Jag har inte en strategi som ännu eftersom jag har bara precis börjat spela med det. När jag börjar använda den i en produktionsmiljö som jag definitivt kommer att skriva om mina erfarenheter.
Tack för länken till spjqueryfield.
Paul, Vad är din strategi för att injicera javascript till redigeringssidan? Detta i en sättas, enkelt sätt är den knepiga biten, Såvitt jag är orolig. Du inte ska verkligen behöva skapa ett anpassat formulär varje gång… Jag tror att detta, http://spjqueryfield.codeplex.com/ , är en bra början. Distribuera den en gång, sedan återanvända som behövs…
Paul har en Codeplex projekt om manipulera SharePoint formulärfält:
http://spff.codeplex.com/