Fácil e rápida: Use jQuery ao valor dun campo de texto nun formulario do SharePoint

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:

image

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>

Rexístrate para o meu blog.

Siga-me no Twitter http://www.twitter.com/pagalvin

5 pensamentos sobre "Fácil e rápida: Use jQuery ao valor dun campo de texto nun formulario do SharePoint

  1. Paul Galvin

    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.

    Responder
  2. Oskar Austegard

    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…

    Responder

Deixe unha resposta Paul Galvin cancelar resposta

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *