Pagina 1 di 1
Impostare un collore di sfondo su un campo form
Inviato: 16 dic 2022, 23:04
da maxcam
Salve a tutti, ho la necessità di impostare un colore di sfondo su un campo di un form mono record.
In modalità griglia ho trovato l'istruzione che non è applicabile su un forms.
Sulla base di alcuni valori lo sfondo dovrebbe essere impostato in maniera dinamica.
Potete aiutarmi ?
Grazie
Massimo
Re: Impostare un collore di sfondo su un campo form
Inviato: 17 dic 2022, 19:38
da Vincenzo
Nell'evento OnLoad metti
Codice: Seleziona tutto
$condizione = true;
if ( $condizione ) {
?>
<style>
#hidden_field_data_campoa {
background-color: red;
}
</style>
<?php
}
il campo si chiama
campoa.
Re: Impostare un collore di sfondo su un campo form
Inviato: 17 dic 2022, 23:12
da maxcam
Grazie Vincenzo per la risposta.
ho inserito le istruzioni su evento onload
---
if ( {distanza} > 100 ) {
?>
<style>
#hidden_field_data_distanza {
background-color: red;
}
</style>
<?php
}
Mi colora di rosso tutta la riga dove è posizionato il campo , lo sfondo del campo dove c'è il valore rimane bianco, mentre dovrebbe rosso.
Non so se mi sono spiegato.
Inoltre mi sovrappone al forms una finestra con 2 pulsanti "Chiudi" e "Output" .Quando clicco su "chiudi" mi toglie il colore impostato.
Forse sbaglio qualcosa
Grazie
Massimo
Re: Impostare un collore di sfondo su un campo form
Inviato: 18 dic 2022, 10:21
da Vincenzo
per colorare il campo di input basta che cambi l'id ovvero, invece di hidden_field_data_distanza metti id_sc_field_distanza, per la finestra, credo che mostri l'output , non riesco a riprodurlo, non so se era l'Ajax error output, mi ricordo che avevo risolto, ma adesso non mi viene in mente come , se mettendo quel codice in un campo nascosto, o usando il javascript.
Se mi torna in mente lo scrivo.
Re: Impostare un collore di sfondo su un campo form
Inviato: 18 dic 2022, 11:48
da maxcam
Sto vedendo in rete , sembra che si debba creare una funzione javascript e poi gestirla su evento onload.
Avevo scritto qualcosa ma non funzionava ugualmente, mi blocca i pulsanti di navigazione e di aggiornamento, oltre a non avere effetto sul campo.
Provo con su evento onload sc_ajax_javascfript ('nome funzione javascript', array(parametri);
la funzione esempio
if (nome_campo_value == 0)
{
document.F1.campo.style.color ='black');
document.F1.campo.style.backgroundColor = '#a2d07d';
}
e via di seguit altre condizioni.
Speriamo funzioni
Strano sc non abbia previsto una funzione del tipo sc_style.. come per la griglia. Eì una funzionalità che sarebbe utile..
Re: Impostare un collore di sfondo su un campo form
Inviato: 18 dic 2022, 12:29
da Vincenzo
Infatti serve js.
creai una funzione js che applichi il colore.
Nel form crei il metodo js
sfondorosso con dentro
Codice: Seleziona tutto
$("#id_sc_field_codice").css("background-color","red");
$("#id_sc_field_codice").css("color","white");
poi nella onload, anche se la documentazione direbbe che nella OnLoad non la puoi mettere, mettici la
sc_ajax_javascript
quindi la onload non fa nessun echo di codice html e non appare nulla nella navigazione
Codice: Seleziona tutto
$condizione = true;
if ( $condizione ) {
sc_ajax_javascript('sfondorosso');
}
secondo me è meglio fare i calcoli in PHP e far fare al javascript solo la colorazione.
Re: Impostare un collore di sfondo su un campo form
Inviato: 18 dic 2022, 13:39
da maxcam
Risolto.
Per spiegarmi meglio faccio un esempio pratico.
Ho un campo nel form chiamato "altezza".
Voglio che lo sfondo del campo a seconda dei valori assuma un colore.
Semplifichiamo al massimo:
> 50 giallo
< 50 verde
1)
Vado su Programmazione -- Metodi javascript.
Creo un nuovo metodo che chiamo "colore_sfondo"
Prima di scrivere le istruzioni, clicco sulla barra degli strumenti dell'editor su icona F(x), per impostare il numero dei parametri. Nel mio caso 1 , chiamo altezza.
A questo punto scrivo le istruzioni:
----
if (altezza > 50 )
{
document.F1.altezza.style.color = 'black';
document.F1.altezza.style.backgroundColor = '#FFCC33';
}
if (altezza < 50 )
{
document.F1.altezza.style.color = 'black';
document.F1.altezza.style.backgroundColor = '#66CC33';
}
-------
Salvo lo script.
2)
Vado su Eventi e scelgo OnLoad
sc_ajax_javascript ('colore_sfondo',array({altezza}));
Il primo argomento è riferito al nome dello script javascript e il secondo è il parametro di ritorno.
Salvo ed eseguo.
Sicuramente può essere migliorabile, ma per il momento mi accontento.
Spero possa essere utile.
Massimo