Ako makapagsimula-play sa paligid na may jQuery yesterday. I’ve been wanting to do this for a long time, mula pa nang Paul Grenier nagsimula pagsulat kanyang serye tungkol sa jQuery para sa Mga End User sa mga karapat-dapat sambahin 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.
Sa sitwasyong ito, Ako pa nakalikha ng isang pasadyang listahan na ang "bagong" form na mukhang tulad ng ipinapakita:
Ito ang bagong paraan para sa isang pasadyang listahan sa hanay ng default na Pamagat at dalawang mga hanay listahan (hindi site na hanay; Hindi sa tingin ko ito dapat na gumawa ng anumang mga pagkakaiba).
Ang layunin ay upang italaga ang isang arbitrary halaga sa mga patlang, "DefaultMeFieldNoSpaces" (maaari mong sabihin ako ng isang bit ng isang bahag ang buntot sa "walang mga puwang" bagay na nangyayari sa, ngunit gagawin ko lagyan ng pampalasa up ito sa dulo ng artikulong ito).
Ito bit ng jQuery nagtrabaho para sa akin:
<script type ="text/javascript"> $(tungkulin() { $('Input[pamagat = DefaultMeFieldNoSpaces]').attr( {halaga: 'Ikaw ay nasa isang twisty maze ng sipi, magkamukha lahat. '}); }); </script>
Bilang Naiintindihan ko ito bit na ito ng jQuery ay sinasabi, “find me any input tag whose title = DefaultMeFieldNoSpaces. Pagkatapos, itakda ang lahat ng kanilang mga halaga sa isang sikat na parirala mula sa isang lumang laro computer. "
Dahil doon ay tanging isa field sa form na may pamagat na katumbas ng "DefaultMeFieldNoSpaces" kami ay panatag ng pagtatalaga ng isang halaga sa patlang na iyon at walang iba pang mga.
Paano ang tungkol sa isang patlang na ang pangalan ay may puwang sa loob nito? It’s nearly the same:
<script type ="text/javascript"> $(tungkulin() { $('Input[pamagat = Italaga Field Sa Space]').attr( {halaga: 'Ikaw ay nasa isang twisty maze ng sipi, magkamukha lahat. '}); }); </script>
Sa tingin ko ito ay isang medyo ligtas na diskarte, 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, ito ay isang uri ng marumi:
<input pangalan="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField" uri="text" MAXLENGTH="255" ID="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" pamagat="DefaultMeFieldNoSpaces" klase="ms-long" />
"Pamagat" ay nakatayo out bilang ng nakikilalang at sana ay natatanging katangian upang matulungan kaming matukoy ang partikular na hanay na kung saan nais naming italaga ang aming mga di-makatwirang halaga.
This is a foundational concept. Setting a field in an arbitrary way like this isn’t going to win any awards. Gayunman, kung gusto naming gawin mas kawili-wiling paraan antas ng mga bagay-bagay (kung saan ang lahat sa atin laging nais na gawin, mangyari pa, karapatan pagkatapos namin matapos ang washing dishes), gustong baguhin ang halaga ng "field b" ay awtomatikong batay sa halaga ng "field ng", tayo (Ako) kailangan upang malaman ang mga bagay na.
Sa tingin ko ang aming pinakamahusay na pagkakataon upang makakuha ng isang tunay na kapaki-pakinabang na halaga dito ay sa pamamagitan ng pamagat, at least for text fields. There may be a better, more reliable approach. If I find it, Kukunin ko i-update ang post na ito. If you know a better way, mangyaring mag-iwan ng komento.</dulo>
</dulo>
Sundin ako sa Twitter sa http://www.twitter.com/pagalvin
Hi Paul – Ako ay dumating sa kabuuan ng iyong post habang nagsasaliksik para sa isang katulad na problema :-
Ang pagtatakda ng isang tagal default para sa mga bagong kaganapan sa kalendaryo.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
May isang kapong baka nanlilinlang tungkol sa pagkuha ng mga script sa mga bagong paraan – nito hindi bilang matalino bilang spjqueryfield o spff ngunit nito mahusay para sa isang mabilis na kalesa.
Christophe, salamat para sa link!
Oskar, Hindi ko magkaroon ng isang diskarte bilang pa dahil ko pa lamang lamang makapagsimula gamit ito upang i-play sa paligid. Bilang simulan kong gamitin ito sa isang kapaligiran sa produksyon ay ko talagang magsulat tungkol sa aking karanasan.
Salamat para sa link sa spjqueryfield.
Paul, kung ano ang iyong diskarte para sa injecting ang javascript sa pahina ng pag-edit? Ang paggawa nito sa isang deployable, simpleng paraan ay ang mapaglalang bit, bilang malayo bilang ako nababahala. Mo ba talagang hindi dapat magkaroon upang lumikha ng pasadyang form sa bawat oras… Sa tingin ko ito, http://spjqueryfield.codeplex.com/ , ay isang mahusay na pagsisimula. Deploy ng ito sabay-sabay, pagkatapos ay muling gamitin bilang kinakailangan…
Paul ay may Codeplex proyekto tungkol sa pagmamanipula ng SharePoint form na mga patlang:
http://spff.codeplex.com/