Unë fillova duke luajtur rreth me jQuery yesterday. I’ve been wanting to do this for a long time, qëkur Paul Grenier Shkrim filluar seri tij Rreth jQuery për përdoruesit përfundimtarë në nderuari 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.
Në këtë skenar, Unë kam krijuar një listë me porosi të cilit "i ri" formë duket siç tregohet:
Kjo është forma e re për një listë me porosi me kolonën Titulli i paracaktuar dhe dy kolona lista (jo kolona faqe; Unë nuk mendoj se ajo duhet të bëjë ndonjë ndryshim).
Objektivi është që të caktojë një vlerë arbitrare në fushë, "DefaultMeFieldNoSpaces" (ju mund të thoni që unë jam pak e një frikacak me "nuk ka hapësira" gjë ndodh, por bëj erëz atë deri në fund të këtij neni,).
Kjo pak e jQuery ka punuar për mua:
<Lloji script ="text/javascript"> $(funksion() { $('Input[title = DefaultMeFieldNoSpaces]').attr( {vlerë: 'Ju jeni në një labirint twisty e pasazheve, të gjithë njësoj. '}); }); </dorëshkrim>
Me sa kuptoj unë kjo pak jQuery është duke thënë, “find me any input tag whose title = DefaultMeFieldNoSpaces. Pastaj, të vendosur të gjithë nga vlerat e tyre në një frazë e famshme nga një lojë kompjuterike të vjetër. "
Që nuk do të jetë vetëm një fushë në formë me një titull të barabartë me "DefaultMeFieldNoSpaces" Ne jemi të sigurt për caktimin e një vlerë në atë fushë dhe asnjë tjetër.
Po në lidhje me një fushë emri i të cilit ka hapësira në të? It’s nearly the same:
<Lloji script ="text/javascript"> $(funksion() { $('Input[title = Fusha Cakto me hapësirë]').attr( {vlerë: 'Ju jeni në një labirint twisty e pasazheve, të gjithë njësoj. '}); }); </dorëshkrim>
Unë mendoj se kjo është një qasje mjaft të sigurt, 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, kjo është lloj i çrregullt:
<të dhëna emër="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField" lloj="text" maxlength="255" id="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" titull="DefaultMeFieldNoSpaces" klasë="ms-long" />
"Title" qëndron si një atribut të njohur dhe shpresojmë unike për të na ndihmuar të identifikuar kolonë të veçantë në të cilën ne duam të caktojë vlerën tonë arbitrar.
This is a foundational concept. Setting a field in an arbitrary way like this isn’t going to win any awards. Megjithatë, në qoftë se ne duam të bëjmë gjëra më interesante të nivelit formë (të cilat të gjithë ne gjithmonë duan të bëjnë, sigurisht, drejtë, pasi ne fund larë enët), pëlqen të ndryshojë vlerën e "fushë b" automatikisht bazuar në vlerën e një "fushë", ne (Unë) nevojë për të mësuar këto gjëra.
Unë mendoj se shansi ynë i mirë për të marrë një vlerë reale të dobishëm këtu është me anë të titullit, at least for text fields. There may be a better, more reliable approach. If I find it, Unë do update këtë post. If you know a better way, ju lutem të lënë një koment.</fund>
</fund>
Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin
Hi Pali – I came across your post whilst researching for a similar problem :-
Setting a default duration for new calendar events.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
There is a neat trick about getting the script onto the new form – its not as clever as spjqueryfield or spff but its great for a quick hack.
Christophe, thanks for the link!
Oskar, I don’t have an approach as yet because I have only just started using it to play around. As I begin to use it in a production environment I will definitely write about my experience.
Thanks for the link to spjqueryfield.
Paul, what’s your approach for injecting the javascript into the edit page? Doing so in a deployable, simple manner is the tricky bit, as far as I’m concerned. You really shouldn’t have to create a custom form each time… I think this, http://spjqueryfield.codeplex.com/ , is a good start. Deploy it once, then reuse as needed…
Paul has a Codeplex project about manipulating SharePoint form fields:
http://spff.codeplex.com/