Eu comecei a xogar con jQuery yesterday. I’ve been wanting to do this for a long time, desde entón Paul Grenier escrita comezou súa serie sobre jQuery para usuarios finais no venerable 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.
Neste escenario, Eu creei unha lista personalizada cuxa forma "nova" mira como se mostra:
Esta é a nova forma para unha lista personalizada coa columna Título estándar e dúas columnas de lista (non columnas de sitio; Eu creo que non debe facer calquera diferencia).
O obxectivo é asignar un valor arbitrario para o campo, "DefaultMeFieldNoSpaces" (pode dicir eu son un pouco de un cobarde co "sen espazos" cousa a ocorrer, pero eu combina-lo ao final deste artigo).
Este pouco de jQuery traballou para min:
<tipo script ="Text / javascript"> $(función() { $('Input[title = DefaultMeFieldNoSpaces]').attr( {valor: "Está nun labirinto sinuoso de pasaxes, todos iguais. "}); }); </guión>
Polo que entendín este pouco de jQuery está dicindo, “find me any input tag whose title = DefaultMeFieldNoSpaces. Entón, establecer os seus valores a unha frase famosa dun xogo de ordenador antigo. "
Xa que haberá só un campo no formulario cun título igual a "DefaultMeFieldNoSpaces" ten por seguro de asignar un valor a ese campo e ningún outro.
Que tal un campo cuxo nome ten espazos? It’s nearly the same:
<tipo script ="Text / javascript"> $(función() { $('Input[título de campo = Asignar con espazo]').attr( {valor: "Está nun labirinto sinuoso de pasaxes, todos iguais. "}); }); </guión>
Eu creo que esta é unha visión bastante segura, 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, é unha especie de confuso:
<entrada nome="ctl00$m$g_bdb23c2c_fde7_495f_8676_69714a308d8e$ctl00$ctl04$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField" tipo="text" maxlength="255" ID="ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" título="DefaultMeFieldNoSpaces" clase="ms-long" />
"Título" destaca como un atributo recoñecible e espero única para axudarnos a identificar a columna específica a que queremos asignar o noso valor arbitrario.
This is a foundational concept. Setting a field in an arbitrary way like this isn’t going to win any awards. Con todo, se queremos facer cousas nivel máis interesante forma (que todos sempre queremos facer, claro, logo despois que rematar de lavar os pratos), como cambiar o valor do campo "b" automaticamente a base do valor de "un campo", nós (Eu) que aprender esas cousas.
Eu creo que a nosa mellor oportunidade de obter un valor útil aquí é a través do título, at least for text fields. There may be a better, more reliable approach. If I find it, Vou actualizar este post. If you know a better way, por favor, deixe un comentario.</final>
</final>
Siga-me no Twitter http://www.twitter.com/pagalvin
Ola Paulo – Me deparei co seu post mentres investigaba para un problema semellante :-
Establecer unha duración estándar para novos eventos do calendario.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
Hai un truco sobre a obter o guión para o novo formulario – non é tan intelixente como spjqueryfield ou spff pero a súa grande para un corte rápido.
Christophe, grazas polo enlace!
Oskar, Non teño unha visión aínda porque eu só comecei a usalo para xogar. Como comezar a usalo nunha contorna de produción seguramente vou escribir sobre a miña experiencia.
Grazas polo enlace para spjqueryfield.
Galicia, cal é a súa visión para inxectar Javascript á páxina de edición? Facelo nun salientable, xeito sinxelo é o pouco complicado, tanto como eu estou preocupado. Realmente non debería ter que crear un formulario personalizado de cada vez… Eu creo que iso, http://spjqueryfield.codeplex.com/ , é un bo comezo. Implanta-lo xa, logo, se fose necesario reutilizar…
Paul ten un proxecto Codeplex sobre a manipulación de campos de formularios do SharePoint:
http://spff.codeplex.com/