Snabb och enkel: Använda jQuery att ange en Text fältets värde på en SharePoint-Form

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:

image

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>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

5 tankar på "Snabb och enkel: Använda jQuery att ange en Text fältets värde på en SharePoint-Form

  1. Paul Galvin

    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.

    Svar
  2. Oskar Austegard

    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…

    Svar

Lämna ett svar till Paul Galvin Avbryt svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *