Hurtig og nem: Bruge jQuery at indstille a tekst felts værdi på en formular, SharePoint

Jeg begyndte at spille med jQuery i går. Jeg har været der ønsker at gøre dette i lang tid, lige siden Paul Grenier begyndte at skrive hans serie om jQuery for slutbrugere på det ærværdige www.endusersharepoint.com Web site. Som jeg bruger det, Jeg håber at tilføje en serie af "Quick og nemt" stillinger som denne. Dette indlæg beskriver, hvordan du indstiller en kendt tekst feltværdien til noget, du ønsker.

I dette scenario, Jeg har oprettet en brugerdefineret liste Hvis "nye" form ser ud som vist:

image

Dette er den nye form for en brugerdefineret liste med kolonnen standard titel og to listekolonner (ikke webstedskolonner; Jeg tror ikke, det bør gøre nogen forskel).

Målet er at tildele en vilkårlig værdi til feltet, "DefaultMeFieldNoSpaces" (Du kan fortælle jeg er lidt af en kujon med den "uden mellemrum" ting i gang, men jeg spice det i slutningen af denne artikel).

Denne bit af jQuery arbejdede nemlig mig:

<script type ="text/javascript">

  $(funktion() {

    $(' input[titel = DefaultMeFieldNoSpaces]').attr(
        {værdi: «Du befinder dig i en twisty labyrint af passager, alle ens.»});

  });

</script>

Som jeg forstår det denne bit af jQuery siger, "finde mig nogen input tag hvis titel = DefaultMeFieldNoSpaces. Derefter, sæt alle deres værdier til en berømt sætning fra en gammel computerspil."

Da der vil kun være ét felt i formen med en titel lig med "DefaultMeFieldNoSpaces" er vi sikret af tildeling af en værdi til dette felt, og ingen andre.

Hvad med et felt, hvis navn er mellemrum i det? Det er næsten det samme:

<script type ="text/javascript">

  $(funktion() {
     $(' input[titel = tildele felt med plads]').attr(
        {værdi: «Du befinder dig i en twisty labyrint af passager, alle ens.»});

  });

</script>

Jeg tror, dette er en temmelig sikker metode, hvilket betyder, at vi skal kunne finde det felt, vi vil, og kun feltet ønsker vi. Hvis man ser på giver SharePoint-HTML os, Det er lidt rodet:

<input
Navn= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
type= "tekst"
MaxLength= "255"
id= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
titel= "DefaultMeFieldNoSpaces"
klasse= "ms-lange"
/>

"titel" skiller sig ud som en genkendelig og forhåbentlig enestående egenskab til at hjælpe os med at identificere de særlige kolonne som vi vil tildele vores vilkårlig værdi.

Dette er et grundlæggende begreb. Indstilling af et felt i en vilkårlig måde som dette kommer ikke til at vinde nogen priser. Dog, Hvis vi ønsker at gøre mere interessant form niveau ting (som vi alle altid ønsker at gøre, Selvfølgelig, lige efter vi er færdige til opvask), som ændrer værdien af "område b" automatisk baseret på værdien af "felt en", Vi (JEG) nødt til at lære disse ting.

Jeg tror vores bedste chance for at få en rigtig nyttig værdi her er via titlen, mindst i tekstfelter. Der kan være en bedre, mere pålidelig tilgang. Hvis jeg kan finde det, Jeg opdaterer denne post. Hvis du kender en bedre måde, Indtal en kommentar.</slutningen>

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

5 tanker om ”Hurtig og nem: Bruge jQuery at indstille a tekst felts værdi på en formular, SharePoint

  1. Paul Galvin

    Oskar, Jeg har ikke en tilgang endnu fordi jeg har kun lige begyndt at bruge det til at spille rundt. Da jeg begynder at bruge det i et produktionsmiljø, jeg vil helt sikkert skrive om min oplevelse.

    Tak for linket til spjqueryfield.

    Svar
  2. Oskar Austegard

    Paul, Hvad er din holdning til indsprøjte javascript i Rediger side? Gør det i et deployerbart, enkel måde er den tricky bit, så vidt jeg er bekymret. Du bør ikke virkelig nødt til at oprette en brugerdefineret formular hver gang… Jeg tror, det, http://spjqueryfield.codeplex.com/ , er en god start. Installere det én gang, derefter genbruge efter behov…

    Svar

Efterlad et svar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *