Come indicare, in una maschera, il primo controllo d'input, tipo "SetFocus"

  • Creatore Discussione Creatore Discussione MarkRed
  • Data di inizio Data di inizio

MarkRed

Nuovo Utente
14 Giu 2019
5
0
1
Salve a tutti :)
Dunque, sto utilizzando la versione trial dell'ultima versione di PhPRunner 10.1. Sto cercando l'esatto codice che mi permette:
all'apertura di una form, il cursore deve andare sul controllo di un campo specifico da me indicato. Per chi conosce l'anzidetto programma, purtroppo, nulla si trova, per default, nel designer e nell'editor. L'unico modo per far eseguire un codice personalizzato, è la parte "JavaScript OnLoad Event" e qui bisogna scrivere il codice, appunto, che specifico su quale controllo voglio il cursore lampeggiante in attesa d'inserimento dati.
Ho visto, provato, diversi codici, in rete, riguardo anche l'escamotage di cambiare l'ordine di tabulazione ma..........NON FUNGE! :(
Insomma, sembra che non ci sia un codice tipo il "vecchio" VBA: 'nomecontrollo.setfocus'.......possibile?
Spero di essere stato abbastanza chiaro :)
Grazie dell'attenzione.
Marco.
 
Ultima modifica:
@MarkRed
Dal regolamento del forum:
2.7 E' vietato aprire discussioni con titoli generici del tipo "Aiuto", "Help" o "Rispondete subito". Alle discussione deve essere assegnato un titolo che ne renda immediatamente comprensibile il contenuto utilizzando, ove possibile, la giusta terminologia tecnica. Così facendo si rende più facile agli altri utenti il compito di trovare immediatamente le discussioni a cui parteciapre.
Pertanto ti prego:
  1. di modificare il titolo con un titolo descrittivo
  2. Leggere attentamente il regolamento del forum e quello della sezione dove posti
Grazie
 
non é la risposta che attendi, ma, resto ancorato a metodi più tradizionali,
PHP:
$FirstField = "onload='document.myForm.myField.focus()'";
.......

<body <?php echo $FirstField; ?>>
 
Ti ringrazio per l'intervento.......ogni codice è buono per provare ma, purtroppo, neanche quanto hai suggerito, funge :(
 

Allegati

  • Snap8.png
    Snap8.png
    44,2 KB · Visite: 414
Prova con questo, dovresti riuscire a risolvere....
Per semplicità ho aggiunto una class-css ma nulla vieta spostare i controlli sul name o sui data-* html5...
Codice:
<form method="" >
    <input type="text" class="focused" value="">
    <br>
    <input type="number" class="" value="">
</form>
<script>
    window.onload = function(){
        document.getElementsByClassName('focused')[0].focus();
    }
</script>
In questo modo puoi anche settare il next-focus, pensa a bootstrap dove gli elementi (grid based) vengono posti uno accanto all'altro (senza eventuali settings particolari), il next focus passato dal TAB sarebbe il successivo posto sulla destra dell'elemento corrente, utilizzando la parametrizzazione di una funzione potresti scegliere quale elemento dalla lista pescare anche in base alle dimensioni....
Infatti nell'esempio sopra il first focus è settato sull'elemento[0] il successivo potrebbe essere elemento[x] non necessariamente elemento[1]....
;)
 
Ultima modifica:
Mi dispiace ed apprezzo molto l'aiuto :( questa sintassi, nella parte interessata, per PhPRunner, è errata :(
Sicuramente qualsiasi codice che setta il focus, funziona ma nella sezione di questo programma non si riesce a capire l'esatto metodo per istruire ciò che si vuole :( Per capire e testare il problema, sarebbe necessario installarlo :(.
Se si dovesse intervenire, direttamente sulle pagine .php che crea...........sono migliaie e migliaia di istruzione ed è veramente ostico a capire dove, manualmente, andare a posizionare dei "pezzettini" di codice personale :(
Comunque grazie per la squisita attenzione :)
 
Spiego meglio il problema:
il programma mi crea la maschera di inserimento dati. Su questa maschera ho 2 controlli di un db che ha 2 campi: 'data' e 'descrizione'. Aprendo la maschera, - ovviamente e non so perchè e non c'è nulla che possa cambiare anche l'ordine di tabulazione -, il cursore è posizionato sul controllo 'data'. Ora, non si riesce a capire come istruire questa maschera in modo che quando si apra anzichè andare sul controllo 'data', il cursore in attesa di input, deve posizionarsi sul controllo 'descrizione'. Sono sicuro che il tuo codice funziona..........ma non qui dove dovrebbe essere inserito, a cui fa riferimento l'immagine poco prima postata :(
Grazie ancora per l'attenzione :)
p.s. - ho inserito una nuova immagine - il cursore è sempre sul primo controllo :)
 

Allegati

  • Snap9.png
    Snap9.png
    15,2 KB · Visite: 397
[RISOLTO]

Finalmente, dalla documentazione on line di Xlinesoft, e sulla funzione "SetFocus", ho provato:

Codice:
var ctrl = Runner.getControl(pageid, 'descrizione');
ctrl.setFocus();

Grazie per l'attenzione, ora funziona alla grande ^^
 
Ultima modifica:

Discussioni simili