Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Postback fatale per jquery

  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,262

    Postback fatale per jquery

    Non so che titolo dare al thread perchè non trovo una spiegazione di nessun tipo al fatto che un textbox con un calendario jquery UI applicato funzioni solo fino a che non faccio un postback... dopo il postback diventa un normalissimo textbox...

    Il calendario si attiva con questa funzione jquery:
    <script>
    $( function() {
    $( "#datacons" ).datepicker();
    } );
    </script>
    che avevo messo nel placeholder in head (la pagina ha una masterpage che contiene anche un updatepanel per far andare in maniera asincrona i controlli delle pagine figlie) ma ho provato anche a spostarla nel placeholder del content senza che cambi nulla.
    Il textbox è il seguente:
    <asp:TextBox ID="datacons" runat="server" ClientIDMode="static"></asp:TextBox>

    Funziona perfettamente all'ingresso nella pagina bloccando anche la possibilità di inserimento di testo nell'input generato; dopo il primo postback invece sparisce tutto il meraviglioso funzionamento e diventa un textbox normalissimo senza datepicker....

    Vedo che all'ingresso nella pagina il controllo ha una class="hasdatepicker" ma dopo il postback questa sparisce... ho ipotizzato che nel postback non venga rilanciata la funzione jquery e allora ho provato anche a inserirla nel page load così:
    if ispostback then
    ClientScript.RegisterClientScriptBlock(Me.GetType( ), "mykey", "<script>$( function() {$( ""#datacons"" ).datepicker(); } );</script>")
    end if
    ma niente... idee?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,262
    nel controllo del postback ho aggiunto anche
    If IsNothing(datacons.Attributes.Item("class")) Then
    datacons.Attributes.Add("class", "hasDatepicker")
    End If
    e ora la classe viene riportata anche dopo il postback... ma non funziona ugualemonte
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,262
    nessuna idea?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,262
    sembra sia un problema diffuso, si risolve (o perlomeno ora a me funziona) così:

    Protected Sub page_prerender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
    Dim scriptz As String = "<script>"
    scriptz &= "$('#datacons').datepicker({dateFormat:'dd/mm/yy'});"
    scriptz &= "</script>"
    Page.ClientScript.RegisterStartupScript(Me.GetType (), "somename", scriptz)
    End Sub
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2017 vBulletin Solutions, Inc. All rights reserved.