Snabb och enkel: Använda jQuery för att dölja ett textfält i ett SharePoint-formulär

Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.

UPPDATERING (redan!): Jag tänkte på ett bättre sätt att hitta den <TR> tag jag vill dölja och skrev om det här. Du kan fortfarande finna denna artikel intressant hur som helst så är jag leavnig upp.

Jag vill dölja ett textfält, "Dölj mig!"som visas:

image

Följande jQuery gör susen för mig:

<script typ ="text/javascript">

  $(funktionen() {


    $("ingång[titel = gömma mig!]').förälder().förälder().förälder().Dölj();

  });

</skript>

Koden säger, "hitta mig alla ingående fält vars titel = gömma mig!. Sedan, få sina överordnade och bredvid överordnade och * nästa * förälder (Puh!) och åberopa Dölj() metod på det där, vad det råkar vara.

Jag beräknat ute den överordnade strukturen genom att visa HTML-koden för formuläret som SharePoint skapats som visas:

<TR>
    <TD nowrap= true" nederkant= "top" bredd= "190px" klass= "ms-formlabel">
        <H3 klass= "ms-standardheader">
            <nobr>Gömma mig!</nobr>
        </H3>
    </TD>

    <TD nederkant= "top" klass= "ms-formbody" bredd= "400 pixlar">
        <!-- Fältnamn = "Dölj mig!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <Spänn dir= "ingen">
            <input
                Namn= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                typ= "text"
                MaxLength= "255"
                ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                titel= "Dölj mig!"
                klass= "ms-lång" />
                <br>
        </Spänn>


    </TD>
</TR>

Denna bild visar samma, men märkt upp med föräldrar:

image

Den första föräldern (1) är en span-tagg. Spans överordnade (2) är en TD-tagg och sedan slutligen vi kommer till verkligt förälder jag vill dölja (3) vilket är TR-taggen själv.

Detta är ett ganska hemska tillvägagångssätt eftersom det är extremt beroende av mycket specifika strukturen av denna form. När SharePoint 2010 kommer ut, hela denna struktur skulle kunna ändra och bryta detta tillvägagångssätt. Vad jag verkligen vill göra är hantverk en jQuery väljare som är i linje med "hitta mig alla TR (och enda TR-Taggar) som har någonstans i deras underordnade element ett inmatningsfält vars titel = gömma mig!”. Jag börjar från botten och flytta. Förutsatt att jag lista ut, Jag kommer lägga upp en uppdaterad "snabb och enkel" post.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

del.icio.us Taggar: ,

En reaktion på ”Snabb och enkel: Använda jQuery för att dölja ett textfält i ett SharePoint-formulär

  1. Jaap Vossers

    Vad sägs om denna strategi för att hitta överordnat tr? Första noden i insamlingen av förfader noder som är tr element, vilket resulterar i det närmaste överordnade tr.

    .föräldrar("tr:först")

    Svar

Lämna ett svar till Jaap Vossers Avbryt svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *