Comecei a brincar com jQuery ontem. Estou querendo fazer isso há muito tempo, desde que Paul Grenier comecei a escrever sua série sobre jQuery para usuários finais no Venerável www.endusersharepoint.com Web site. Como usá-lo, Espero acrescentar que uma série de "Rápida e fácil" posts como este. Este post descreve como definir valor um campo de texto conhecido a qualquer coisa que você quer.
Neste cenário, Eu criei uma lista personalizada, cuja "nova" forma olha como mostrado:
Este é o novo formulário para uma lista personalizada com a coluna de título padrão e duas colunas de lista (não as colunas de site; Eu não acho que ele deve fazer toda a diferença).
O objetivo é atribuir um valor arbitrário para o campo, "DefaultMeFieldNoSpaces" (Você pode dizer que eu sou um pouco de um covarde com a coisa "sem espaços" acontecendo, mas combiná-lo no final deste artigo).
Este pouco de jQuery, funcionado para mim:
<script type ="text/javascript"> $(função() { $(' entrada[título = DefaultMeFieldNoSpaces]').attr( {valor: ' Você está em um labirinto sinuoso de passagens, todos iguais.'}); }); </script>
Pelo que entendi este pouco de jQuery está dizendo, "me encontrar qualquer entrada tag cujo título = DefaultMeFieldNoSpaces. Em seguida, conjunto todos os seus valores de uma famosa frase de um antigo jogo de computador."
Uma vez que só haverá um campo no formulário com um título igual ao "DefaultMeFieldNoSpaces" Estamos garantida de atribuir um valor ao campo e nenhum outro.
Que tal um campo cujo nome tiver espaços? É quase a mesma coisa:
<script type ="text/javascript"> $(função() { $(' entrada[título = atribuir o campo com o espaço]').attr( {valor: ' Você está em um labirinto sinuoso de passagens, todos iguais.'}); }); </script>
Acho que essa é uma abordagem bastante segura, significa que poderemos encontrar os campos que queremos e só o que queremos.. Se você olhar para o SharePoint de HTML está nos dando., é meio confuso:
<entrada nome= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField" tipo= "texto" MaxLength= "255" ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" título= "DefaultMeFieldNoSpaces" Classe= "ms-long" />
"título" destaca-se como um atributo reconhecível e espero que única para nos ajudar a identificar a coluna específica ao qual queremos atribuir o nosso valor arbitrário.
Este é um conceito fundamental. Configuração de um campo de forma arbitrária, assim não vai ganhar nenhum prêmio. No entanto, Se nós queremos fazer coisas de nível de formulário mais interessantes (que todos nós queremos sempre fazer, É claro, logo depois que terminar de lavar a louça), como alterar o valor de "b campo" automaticamente com base no valor do "campo um", Nós (EU) necessidade de aprender essas coisas.
Acho que nossa melhor chance de obter um valor útil real aqui é via o título, pelo menos para os campos de texto. Pode haver um melhor, abordagem mais confiável. Se eu encontrá-lo, Vou atualizar este post. Se você conhece uma maneira melhor, por favor, deixe um comentário.</fim>
</fim>
Siga-me no Twitter em http://www.twitter.com/pagalvin
Oi Paulo – Me deparei com seu post, enquanto pesquisava para um problema semelhante :-
Definindo uma duração padrão para novos eventos de calendário.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
Há um truque sobre como obter o script para o formulário novo – não é tão inteligente quanto spjqueryfield ou spff, mas seu grande para um corte rápido.
Christophe, Obrigado pelo link!
Oskar, Ainda não tenho uma abordagem como porque eu só comecei a usá-lo para brincar. Como eu começar a usá-lo em um ambiente de produção, que definitivamente vou escrever sobre minha experiência.
Obrigado pelo link para spjqueryfield.
Paulo, o que é a sua abordagem para injetar o javascript na página de edição? Fazê-lo em um destacável, forma simples é o bit tricky, tanto quanto eu estou preocupado. Você realmente não deve ter que criar um formulário personalizado sempre que… Eu acho que isso, http://spjqueryfield.codeplex.com/ , é um bom começo. Implantá-lo de uma vez, em seguida, reutilizar conforme necessário…
Paul tem um projeto Codeplex sobre manipulação de campos de formulário do SharePoint:
http://spff.codeplex.com/