• Bannato User Attivo

    Quei controlli che non ti inviano form se ci sono campi vuoti

    Avete presente che nei siti serii se non compilate alcuni campi, quando cliccate su invia dati vi appare un pop up con scritto:

    • non hai inserito il tuo nome... ecc...

    Mi potete aiutare per trovare delle guide serie per come fare a crearli?

    E poi, visto che ci sono è possibile forzare il reload di una pagina da un'altra pagina?

    Faccio inserire una news aprendo una finestra diversa da quella di partenza. Vorrei che la finestra di partenza si aggiornasse una volta che il news è stata salvata correttamente. E' possibile farlo?

    GRAZIE


  • Moderatore

    Punto 1:
    lo fai con javascript.

    Nel form dai un onsubmit="return funzionedicontrollo(this);"

    e crei una funzione in js del tipo:
    funzionedicontrollo(var) {
    if ( var.nomecampo.value.length >= 4 && var.nomecampo.value.length <= 60 ) return true;
    else alert("ma sei scemoooo??? metti una lunghezza tra 4 e 60"); return false;
    }

    Non so se si capisce...
    nel onsubmit chiami la funzione e gli passi il form stesso.
    nella funzione controlli, ad esempio, che il campo nomecampo abbia un valore di lunghezza allo stesso tempo maggiore di 4 e minore di 60. Se è così' tale funzione ritorna true, quindi il form parte. Altrimenti ritorna false, il form non parte e ti appare un messaggio di errore.
    Ovviamente puoi fare altri controlli, meglio ancora con le regexp.

    Punto 2:
    Certo che lo è:
    usi window.opener.reload() 🙂

    :ciauz:


  • Bannato User Attivo

    Allora, vorrei capire maggiornmente il punto 2.

    Io ho una pagina A.
    In questa ho un link che mi apre in una finestra di dimensioni ridotte (tramite javascript) una pagina B che contiene un form per inserire dei dati (per esempio un testo ed una foto).
    Il form passa i dati alla pagina C che salva i dati. Ecco vorrei che una volta che la pagina C ha fatto le sue operazioni mi apparisse su di essa il link "Chiudi questa pagina" (che essendo stata aperta con javascript è possibile da fare) e contemporaneamente mi aggiornasse la pagina A.

    Questo pensate sia possibile da fare?

    Ora vedo se trovo le funzioni per i controlli sui campi vuoti.


  • Moderatore

    Sì usi opener.reload 🙂


  • Bannato User Attivo

    mi cerco una guida su questa funzione: opener.reload

    Ma io devo far riagiornare la pagina A non quella su cui ho eseguito le operazioni...

    Grazie, gentilissimo come sempre!


  • Moderatore

    Ma io devo far riagiornare la pagina A non quella su cui ho eseguito le operazioni...

    Sì. Opener è infatti riferito a chi ha aperto la finestra. E' il padre insomma. 🙂


  • Bannato User Attivo

    Grazie, sto capendo la funzione.
    Secondo te è meglio se l'aggiornamento della pagina padre lo faccio mettendo il reload nel "body onload... oppure in un onclick (magari lo stesso click che mi chiude la finestra figlio?

    Ho trovato qui una discussione interessante su come si può usare:
    http://www.ialweb.it/forum/forum_posts.asp?TID=16534&PN=13


  • Moderatore

    Dipende da ciò che devi fare. 🙂

    Funziona in entrambi i casi

    :ciauz:


  • Bannato User Attivo

    Ritrovata la discussione che cercavo.
    E' questa.
    Ulteriori informazioni per il reload di pagine madri si trovano qui:
    http://www.jsdir.com/staffscripts/script064.asp


  • Bannato User Attivo

    Non mi funziona il reload della pagina madre.
    Ecco il codice della figlia:
    <body onload="window.opener.location.reload()">

    mentre quello della madre è:
    a href="javascript:;" onClick="window.open('pagina.html', 'Add an expansion', 'width=600, height=500, resizable, status=no, directories=no, scrollbars=1, location');"><b>Espandi questa recensione</b></a>

    Come mai non me la riaggiorna?