Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    3

    Domanda su ASP.NET e Javascript!

    Buongiorno a tutti!
    Ho pochissima esperienza in ASP.NET e mi servirebbe una spiegazione.
    Ho una pagina web con un form in cui l'utente deve inserire dei dati.
    Per controllare che vengano riempiti i campi obbligatori uso un javascript che viene richiamato dall'evento onclientclick di un bottone e fin qui non ci sono problemi. A questo punto devo inserire questi dati in un db e l'inserimento dei dati lo vorrei gestire lato server però come faccio a sapere che la funzione javascript ha dato esito positivo?
    Devo inserire qualche istruzione particolare nel javascript?

    Grazie!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ti sposto in ASP.NET...

    Roby

  3. #3
    semplicemente, devi fare in modo che la gestione lato server, quindi anche l'inserimento, avvenga SOLO se il javascript ha dato esito positivo.

    Per fare questo basta che la funzione javascript restituisca false se tutti i campi non sono corretti. Così facendo viene annullato l'evento javascript, quindi il click, di conseguenza non viene inviato il postBack.

    Sul bottone:
    Codice PHP:
    onClientclick="return ValidaIDatiJS();" 
    sul client invece

    Codice PHP:
    function ValidaIDatiJS()
    {
        
    //faccio tutti i test del caso
       
    ...
       ...
       if (
    tuttoOK) return true;
       else return 
    false;



  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    3
    Originariamente inviato da Gluck74
    semplicemente, devi fare in modo che la gestione lato server, quindi anche l'inserimento, avvenga SOLO se il javascript ha dato esito positivo.

    Per fare questo basta che la funzione javascript restituisca false se tutti i campi non sono corretti. Così facendo viene annullato l'evento javascript, quindi il click, di conseguenza non viene inviato il postBack.

    Sul bottone:
    Codice PHP:
    onClientclick="return ValidaIDatiJS();" 
    sul client invece

    Codice PHP:
    function ValidaIDatiJS()
    {
        
    //faccio tutti i test del caso
       
    ...
       ...
       if (
    tuttoOK) return true;
       else return 
    false;


    Grazie mille sei stato chiarissimo.
    Quindi a questo punto nel pageLoad posso scrivere qualcosa del tipo:

    if(isPostBack)
    inserisci su DB;

    Farlo così mi sembra un pò pericoloso però al momento mi sembra l'unica soluzione
    Ci sono altri modi?

    Grazie!

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Questo non ti basta! lato server devi assolutamente fare la validazione (ipotizza che javascript sia disabilitato)
    Pietro

  6. #6
    lato server non metterei il controllo sul load della pagina, ma lo lascerei sull'evento del pulsante:

    Codice PHP:
    onClientclick="return ValidaIDatiJS();" onClick="button_click" 
    Codice PHP:
    protected void button_click(object senderEventArgs e)
    {
        
    //validazione ed inserimento nel DB


    in che senso pericoloso???

    be, come ha detto giustamente pietro09, la validazione deve avvenire anche lato server.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    3
    ah ma quindi posso usare entrambi gli eventi, questo non lo sapevo!
    Grazie a tutti!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.