Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    posizionamento dinamico focus finestra

    Ciao a tutti.
    Ho creato una pagina in php che contiene una serie di campi da compilare per uso inventario.
    Ci sono numerosi campi posizionati in verticale e per compilarli tutti e' necessario utilizzare la barra di scorrimento laterale.
    Tra questi campi sono presenti tre campi select.
    Queste select richiamano una funzione javasript che fa questo:
    function Browse(){
    form1.action="insert.php";
    form1.method="POST";
    form1.submit();
    }
    il mio problema e' che quando viene eseguito il post della pagina, la posizione del fuoco torna all'inizio della pagina.
    Come faccio a riposizionare il cursore sull'ultima select selezionata?

    Ciao grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che target hai nel form?

    Se il target non c'e`, la cosa va fatta lato server, altrimenti forse basta mettere un return false dopo il submit.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    il target non c'e' in quanto e' la pagina stessa.
    Il return false; dopo il submit non fa nulla!!!

    Lato server hai qualche idea?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se il modulo viene inviato ricaricando/sostituendo il documento che lo contiene devi in qualche modo passare anche questa informazione:

    o scrivi in un campo hidden quale elemento deve avere il focus e poi a caricamento avvenuto se l' hidden è valorizzato sposti il focus

    oppure modifichi l' action per appendergli l' informazione (simulando di fatto un invio tramite metodo get) leggi al caricamento se c' è la querystring, la scorri per trovare l' assegnazione che rappresenta quale campo deve avere il fuoco e lo setti

    oppure usi i frame, oppure usi i cookie

    l' espediente meno doloroso sembrerebbe il primo

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In pratica tu ricarichi un'altra pagina che contiene gli stessi campi, e vuoi che in parte siano precompilati.

    Da PHP devi leggere il contenuto dei campi e scriverli dentro i campi mano a mano che li crei. Alla fine devi posizionare il focus nell'ultimo campo compilato (o nel primo da compilare).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    ok il mio problema rimane solo la sintassi da utilizzare per il focus.
    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    ad esempio:

    <body onload="document.NOMEFORM.NOMECAMPO.focus();">
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Rimane un problema....
    Non posso mettere un campo hidden perche' il form1.submit() mi fa il post su tutte le variabili della pagina.
    Quindi come faccio a capire quale select e' stata selezionata?
    L'deale sarebbe tramite javascript recuperare il campo che ha fatto la richiesta....

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa piu` pulita, sarebbe modificare un campo (ad esempio hidden):
    <input type="hidden" value="" name="chi">

    Lo script diventa:
    function Browse(ch){
    ch.form.chi.value = "ch.name";
    ch.form.action = "insert.php";
    ch.form.method = "POST";
    ch.form.submit();
    }

    Naturalmente occorre passare il campo alla funzione, ad esempio:
    <select ... onchange="Browse(this);">

    Nota che, dato che alla funzione viene passato il campo (come oggetto), puoi usarlo per passare anche il form (per cui ho modificato la sintassi).

    Non ho capito perche` non vuoi usare un campo hidden; si puo` fare anche senza (usando la modalita` get per passarlo), ma allora la lettura da PHP diventa piu` complessa.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    ..mi risponde che form.chi e' nullo o non e' un oggetto.
    ovviamente nel mio codice ho sostituito i nomi dei form corretti... form1.brand_pc

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.