Tagu arhīvi: jQuery

XSLT un jQuery paraugi

Man ir darot daudz XSLT un jQuery un vēlētos dalīties dažas daļiņas, kas citiem var noderēt nākotnē doma.

Piemērs 1: Izstarot vienkāršu JavaScript / jQuery XSLT:

<XSL:veidne atbilst = "kaut kas" XML:vieta = "saglabāt">

  <!– Tukšu, vaicājums draudzīgi filtri slēptu lauku –>
  <skripta tips = "text/javascript">
    $(dokumentu).gatavs(funkcija(){
      $("#QueryFriendlyFilters").Val("tukšās");
    });
  </skriptu>

</XSL:Veidne:>

Ka mazliet izdala dažas JavaScript, kas gaida uz lapu lejuplādēšanas pabeigšanai (tāpēc, ka $(dokumentu).gatavs(…)) un tad kopas slēptā lauka vērtība nosaukta QueryFriendlyFilters "tukšās" literāļa vērtību.

Piemērs 2: Lietošanas <XSL:Ja> lai pārbaudītu "lielāks nekā",  "mazāks par", uc.

<XSL:veidne atbilst = "kaut kas" XML:vieta = "saglabāt">

  <div id = "fdcAllFilters">
 
    <XSL:Ja test="@Count>0">
      <span class = "fdcFilterLabel">Pašreizējos filtrus:</laiduma>
    </XSL:Ja>

    <!– vairāk stuff notiek šeit. –>

</XSL:Veidne:>

Virs fragments pārbauda, vai ar nosaukumu "Skaits", "kaut kas" elementa atribūts ir lielāks par nulli.  XML aiz šī varētu būt kaut kas līdzīgs:”

<kaut kas Count = "5" />

Piemērs 3: Atkārtot ar visiem elementiem, Interspersing jQuery zvanus.

<!– Atkārtot ar filtriem un apskatīt pareizos  saites. –>
<XSL:par katru atlases = "UserFilter">

  <class = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ID}’)">[X]</a>

  <span class = "fdcFilterLabel"><XSL:vērtību, select="@FilterValue"/></laiduma>

  <skripta tips = "text/javascript">

    $(dokumentu).gatavs(funkcija(){
        <XSL:teksts><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:teksts>\"<XSL:vērtību, select="@FilterValue"/>\"<XSL:teksts><![CDATA["));]]></XSL:teksts>
    });

  </skriptu>

</XSL:par katru>

Virs fragments ir vissarežģītākās un var būt vieglāk, kā to izdarīt.

XML aiz tas apmēram izskatās šādi:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Šis fragments ir atkārtojot caur <UserFilter> mezgliem. 

Vispirms tas izstaro enkurs tagu, kas noklikšķinājis uz JavaScript funkcija, kas jau ir lapas, kas atsaucas uz, "mySubmitPage" un nodod atribūta vērtība <UserFilter> mezglu ar nosaukumu "ID". 

Tad tas izstaro daži jQuery, kas gaida, lai ielādētu lapu.  Ka jQuery atjaunina slēpts lauks ar nosaukumu "QueryFriendlyFilters", pievienojot FilterValue atribūta vērtību.  Piezīme visas crazy <XSL:teksts> un <![CDATA[ … ]]> sīkumi.

That's it, ceru, ka tas palīdz!

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Lists.asmx, GetListItems un mapes

Es darīja daži pētījumi par kādu šodien ap list.asmx web pakalpojumu, kas norādīta kā daļa no SharePoint 2010 (un vecākas versijas).  Viņa bija iespēja saņemt saraksta elementus pie saknes mapē (iekļaujot apakšmapes nosaukumu), bet nevarēja saņemt vienumus apakšmapes.  I did dažas skatos uz internets, un tas ir pārsteidzoši bieži uzdotiem jautājumiem.  Vēl, Nevarēja iegūt labu atbildi uz pavisam vienkāršu jautājumu, "ja es zinu, ka mape, kā mape saņemt vienumus?”  Lai būtu godīgi, Man nav mēģināt tik grūti, jo esmu vēlējies skaitlis this one out uz savu laiku smaids.

To iestatīt, Izveidotā vietne ar nosaukumu "Blogošana scenāriji" un pielāgotu sarakstu ar nosaukumu "Pielāgotu sarakstu ar Sub mapes".  Es tad radīja mapes ar nosaukumu:

  • Gads 2005
  • Gads 2006
  • Gads 2007

Es pievieno dažus vienumus uz mapi "2006. gadā".  Tas ir kā tas izskatās:

image

Mans draugs nav C# koda rakstīšanu, bet drīzāk izmantojot Java, SOAP aploksne bija viņai vajadzēja.  Lai iegūtu, ka, Wrote mazliet jQuery, un pēc tam izmantot vijolnieks, lai iegūtu faktisko HTTP saruna.

Šeit ir attiecīgās jQuery (Es kopēt kodu nosaka zemāk, ja vēlaties kopēt un ielīmēt):

image

Tās pirmais galvenais ir, lai iekļautu gan <queryOptions> un <QueryOptions> mezglu.  Otrā atslēga ir tas, ka <Mapi> mezgls ir URL, uz kuru klients var piekļūt.

Var būt citi veidi, kā iegūt šo, bet tas strādāja labi, par mani, izmantojot jQuery.

Šeit ir iepriekš SOAP aploksne:

<soapenv:Aploksnes xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Organizācija>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Pielāgotu sarakstu apakšgrupas mapes</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef nosaukums = "virsraksts’ />
          <FieldRef nosaukums = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mapi>
http://demoserver1 un emuāri Scenāriji/saraksti/pielāgotu sarakstu ar Sub mapes/Year 2006</Mapi>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Organizācija>
</soapenv:Aploksne>

Daudz piemēru un diskusijas ap šo lika man domāt, ka viss, kas man ir nepieciešams, ir <QueryOptions> un norādiet mapes nosaukumu.  Man, Man vajag, lai gan wrap to iekšpusē <queryOptions> kā arī norādīt pilnu URL <Mapi> mezgls.

Šeit ir jQuery AJAX setup:

$(dokumentu).gatavs(funkcija() {
       var soapEnv =
           "<soapenv:Aploksnes xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Organizācija> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Pielāgotu sarakstu apakšgrupas mapes</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef nosaukums = "virsraksts’ /> \
                              <FieldRef nosaukums = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mapi>http://demoserver1/Blogging Scenāriji/saraksti/pielāgotu sarakstu ar Sub mapes/Year 2006</Mapi> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Organizācija> \
           </soapenv:Aploksne>";

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Bezgalīgi ligzdošanas <DIV> Tagus un jQuery

Tas šķiet tik oddball temats, Es neesmu pārliecināts, ka tas ir tiešām vērts blogošana par, bet tas nekad nav pārstājusi mani, pirms, tāpēc šeit mēs iet smaids

Es esmu strādā pie projekta, kur es esmu vilkšana daži dati no meklēšanas, iepakojuma to XML ziņojumu un pēc tam šīs XML galu galā pārveidots HTML, izmantojot XSLT.  Pastāv daudz jQuery, viens bits, kuru ievieš dažus tabulēšanas funkcionalitāti.  Kad noklikšķināt uz cilnes (tiešām, a <DIV>), jQuery izsauc .hide() un .show() par dažādiem divs (sākuma lapas ielādes lejupielādē visu saturu, tādēļ šajā gadījumā nav postbacks).

Ķekars minutes ago, tab pārslēgšanas loģika sāka izturēties erratically, un tas nevarētu rādīt manas zīmnes.  Es galu galā izsekot to uz leju, lai tas, ka programma Internet explorer (vismaz) šķita, ka <DIV> tagus, kas ir daudz ligzdotu, daudz dziļāk, nekā paredzēts.Attīstītājs rīkjoslā parādītu:

-<div id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<div id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— beidzot rāda tika slēgts līdz galam lejā!

Tik, Ja es tā $("# Tab1Content").paslēpt(), Es arī slēpt Tab2 un varētu nekad nerādīt Tab2 ja nav arī parādīt Tab1.  Es kopēt un ielīmēt kodu uz augšu visual studio un tā parādīja, ka visi div odere līdz labi, tāpat, kā tie bija vajadzēja darīt, meklējat, piemēram, tas:

-<div id = "Tab1Content">
  +<DIV>
  +<DIV>
-<div id = "Tab2Content">
  +<DIV>
  +<DIV>

Pārspēt manu galvu pret sienu, uz brīdi, un ievēroju, ka faktisko HTML kodu bija radīt daudz tukšu <DIV> Tags, piemēram:

<organizācija>

  <div id = "Tab1Content">

    <div id = "row1" />
    <div id = "row2" />

  </DIV>

  <div id = "Tab2Content">

    <div id = "row1" />
    <div id = "row2" />

  </DIV>

</organizācija>

(Iepriekš ir waaaaaaaaaaaay, pārspīlēti.  Tukšu div tagiem ir pilnīgi derīgs. Daži no maniem <DIV> Tags bija pilna ar saturu, bet daudz vairāk nebija.  Es nonācu pie secinājuma, ka manas <XSL:par katru> direktīvās bija izstaro formas īss div tagiem, ja xsl:par katru nav "atrast visus datus.  Izvade ir spiesti HTML komentāru, kā parādīts:

image

 

Pēc tam, kad man bija, ka, labi ierindots visi div un mana tab pārslēgšanas sāka strādāt.

Kā vienmēr, Es ceru, ka tas palīdz kāds šķipsnu.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Vēl vairāk jQuery–Mainīt attēla piemērs

Web daļu neesmu mantojusi no klienta vecā piegādātāja, un tas ir attēla lieluma problēmu.  Attēliem jābūt 60×50 bet kāda dīvaina iemesla dēļ, sākotnējais kreditors spiesti tos 42×42, lai tās izskatītos saplacināto:

 

Labs tēls

Slikts attēls

Šeit ir atzīme (nedaudz vienkāršotā):

<tabulu klase = "paplašināta outlook">
  <tabulas galvenes>
    <TR>
      <th  width = "100′>3 Otrdiena</th>
    </TR>
  </tabulas galvenes>

  <tabulas pamatteksta>
    <TR class = "prognoze">
      <TD width = "100′>
        <UL>
          <Li klase = 'augsta'>Augsta: 72&deg;F</Li>
          <Li class = "zems">Zema: 44&deg;F</Li>
          <Li class = "nosacījums">Saulains
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/EN/trans/cond007.png’ platums ='42’ augstums ='42’ ALT =” />
          </Li>
        </UL>
      </TD>
    </TR>

  </tabulas pamatteksta>

</tabula>

Jūs ievērojiet, ka pat ceļš uz pašu attēlu rāda pareizu dimensija (60×50) sākotnējais kreditors atlauza to 42×42.  kāpēc?  traks.

Jebkurā gadījumā, Es gribēju ātru un vieglu risinājumu šim jautājumam, un pagriezās, lai jQuery.  Bija triks, lai atrastu visas atbilstošās <IMG> tagus.  Es negribēju piemēslot citiem img tagus (kas ir daudz).  Tas mazliet jQuery darīja arī triks:

<skripta tips = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></skriptu>

<skripta tips = "text/javascript">
     $(dokumentu).gatavs(funkcija () {

         $(' li.condition > IMG ").katra(funkcija (indekss, preces)
           
{
             $(preces).CSS("platums", "60"); 
             $(preces).CSS("augstums", "50");
            });
     }); // par dokumentu slodze
</skriptu>

Ka mazliet kodu atrod kolekciju <Li> tagus, kura klase ir "nosacījums" un <IMG> bērni.  Tā tad atkārtojas pa visu to.  Strādāja kā šarmu.

Es droši vien varētu racionalizēt to, bet man nekad nav bijis veida unix puisis, ka atrisināt š lai 18 sed un awk, izmantojot ciparu precizitāti un ka es tāds neesmu, ja jQuery vai nu puisis smaids.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Kontrolējiet savu labi un atcelt pogas

Es uzrakstīju Šajā rakstā kādu laiku atpakaļ, bet izskatās, ka nav saiti uz to no mana bloga brīdī, Tātad šeit iet:

image

Šajā rakstā izklāstīts, kā piespiest newform.aspx novirzīt uz vienas lappuses, kad lietotājs noklikšķina uz Labi un citu lapu, kad viņa noklikšķina atcelt.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Quick Tip: Pievienojot jQuery sūnas lapu publicēšanā

Kad uzlabošana MOSS publicēšanas lapām, izmantojot jQuery, Es hit šādu ātrumu sasist:

Servera kļūda "/’ Pieteikums.


Parsētājs kļūda

Apraksts: Radās kļūda, parsējot resurss, kas nepieciešams šī pieprasījuma apkalpošanai. Lūdzu, pārskatiet šādus īpašus parsēšanas kļūdas detaļas un attiecīgi mainīt avota failu.

Parsētājs kļūdas ziņojums: Satura vadīklas ir atļauta tikai tieši satura lapas, kas satur satura vadīklas.

Kļūda. avota:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

Avota fails: /_catalogs/masterpage/KCC_FacultyMember.aspx    Līnija: 12


Versijas informācija: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET versiju:2.0.50727.4927

Tas bija diezgan viegli noteikt (mans kolēģis h/t, Uday Ethirajulu).  Būt pārliecināti, ka jQuery kodu dzīvo iekšā "PlaceHolderAdditionalPageHead", kā parādīts:

<ASP:Saturu, ContentPlaceholderID = "PlaceHolderAdditionalPageHead" runat = "serveris">

<skriptu

    tips = text/javascript""

    src="/jQuery/jQuery-1.4.min.js">

</skriptu>

<skripta tips = "text/javascript">

  $(dokumentu).gatavs(funkcija() {

   // Šeit ir lieliska jQuery sīkumi.

   });

</skriptu>

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin