Impostare un collore di sfondo su un campo form

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
maxcam
Messaggi: 32
Iscritto il: 20 nov 2016, 20:07

Impostare un collore di sfondo su un campo form

Messaggio da maxcam » 16 dic 2022, 23:04

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

Vincenzo
Messaggi: 130
Iscritto il: 11 apr 2014, 11:06

Re: Impostare un collore di sfondo su un campo form

Messaggio da Vincenzo » 17 dic 2022, 19:38

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.

maxcam
Messaggi: 32
Iscritto il: 20 nov 2016, 20:07

Re: Impostare un collore di sfondo su un campo form

Messaggio da maxcam » 17 dic 2022, 23:12

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

Vincenzo
Messaggi: 130
Iscritto il: 11 apr 2014, 11:06

Re: Impostare un collore di sfondo su un campo form

Messaggio da Vincenzo » 18 dic 2022, 10:21

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.

maxcam
Messaggi: 32
Iscritto il: 20 nov 2016, 20:07

Re: Impostare un collore di sfondo su un campo form

Messaggio da maxcam » 18 dic 2022, 11:48

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..

Vincenzo
Messaggi: 130
Iscritto il: 11 apr 2014, 11:06

Re: Impostare un collore di sfondo su un campo form

Messaggio da Vincenzo » 18 dic 2022, 12:29

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.

maxcam
Messaggi: 32
Iscritto il: 20 nov 2016, 20:07

Re: Impostare un collore di sfondo su un campo form

Messaggio da maxcam » 18 dic 2022, 13:39

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

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti