Ho iniziato a giocare con jQuery ieri. Ho voglia di fare questo per un lungo periodo, fin da quando Paul Grenier ha iniziato a scrivere la sua serie su jQuery per gli utenti finali presso il Venerabile www.endusersharepoint.com sito Web. Come lo uso, Spero di aggiungere che una serie di "Quick and Easy" post come questo. Questo post viene descritto come impostare il valore di un campo di testo nota di tutto quello che vuoi.
In questo scenario, Ho creato un elenco personalizzato in cui la "nuova" forma sembra come mostrato:
Questa è la nuova forma per un elenco personalizzato con colonna titolo predefinito e due colonne di elenco (non colonne del sito; Non credo che dovrebbe fare alcuna differenza).
L'obiettivo è quello di assegnare un valore arbitrario al campo, "DefaultMeFieldNoSpaces" (si può dire che io sono un po ' di un vigliacco con la cosa "senza spazi" in corso, ma ravviva alla fine di questo articolo).
Per me ha funzionato questo bit di jQuery:
<tipo di script ="text/javascript"> $(funzione() { $(' ingresso[titolo = DefaultMeFieldNoSpaces]').attr( {valore: ' Sei in un tortuoso labirinto di passaggi, tutti uguali.'}); }); </script di>
Se ho capito bene questo bit di jQuery è dicendo, "trovare me qualsiasi input tag cui titolo = DefaultMeFieldNoSpaces. Poi, impostare tutti i valori una famosa frase da un vecchio gioco di calcolatore."
Dato che ci sarà solo un campo del form con un titolo uguale a "DefaultMeFieldNoSpaces" siamo assicurati di assegnare un valore a quel campo e nessun altro.
Che dire un campo il cui nome contiene spazi? È quasi lo stesso:
<tipo di script ="text/javascript"> $(funzione() { $(' ingresso[titolo = campo di assegnare con spazio]').attr( {valore: ' Sei in un tortuoso labirinto di passaggi, tutti uguali.'}); }); </script di>
Credo che questo sia un approccio abbastanza sicuro, che significa che dovremmo essere in grado di trovare il campo che si desidera e solo il campo che vogliamo. Se guardate la HTML SharePoint ci sta dando, è sorta di disordinato:
<ingresso nome= "m$ ctl00$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField" tipo= "testo" MaxLength= "255" Identificazione= ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"" titolo= DefaultMeFieldNoSpaces"" classe= "ms-lungo" />
"titolo" si distingue come un attributo riconoscibile e si spera unico per aiutarci a identificare la colonna specifica alla quale vogliamo assegnare il nostro valore arbitrario.
Questo è un concetto fondamentale. Impostazione di un campo in modo arbitrario come questo non è andando a vincere alcun premio. Tuttavia, Se vogliamo fare cose di livello forma più interessanti (che tutti ci vuole sempre fare, Naturalmente, subito dopo che abbiamo finito di lavare i piatti), come modificare il valore di "campo b" automaticamente in base al valore del "campo un", Abbiamo (IO) bisogno di imparare queste cose.
Penso che la nostra migliore occasione per ottenere un valore reale utile qui è tramite il titolo, almeno per i campi di testo. Potrebbe trattarsi di una migliore, approccio più affidabile. Se lo trovo, Aggiornerò questo post. Se conoscete un modo migliore, si prega di lasciare un commento.</fine>
</fine>
Seguimi su Twitter a http://www.twitter.com/pagalvin
Ciao Paolo – Mi sono imbattuto nel tuo post mentre ricercando per un problema simile :-
Impostare la durata predefinita per il nuovo calendario eventi.
http://blog.pentalogic.net/2009/09/setting-default-duration-for-new-calender-events/
C'è un trucchetto per ottenere lo script sul nuovo form – non è così intelligente come spjqueryfield o spff ma la sua grande per un trucco veloce.
Christophe, Grazie per il link!
Oskar, Non ho un approccio ancora perché ho solo appena iniziato a usarlo per giocare. Come iniziare ad usarlo in un ambiente di produzione sicuramente scriverò sulla mia esperienza.
Grazie per il link a spjqueryfield.
Paul, Qual è il vostro approccio per iniettare il codice javascript nella pagina di modifica? Così facendo in un deployable, modo semplice è il bit tricky, per quanto mi riguarda. Non dovreste avere davvero creare un modulo personalizzato ogni volta… Penso che questo, http://spjqueryfield.codeplex.com/ , è un buon inizio. Distribuirlo una volta, riutilizzare poi come stato necessario…
Paul ha un progetto Codeplex per manipolare i campi modulo di SharePoint:
http://spff.codeplex.com/