[Resolvido] Colocar Cor em campo de formulário quando selecionado o tipo do status

Boa Tarde adicionei no onload e não funcionou o campo ainda fica coma cor padrão.

Tenho que alterar algo aqui
Me desculpe pois sou novo nisto e aprendendo
echo "

function TarjetaCOR_JS(campo, Cor) { var campo = 'id_sc_field_' + campo.toLowerCase();

Não o único local para alterar é aqui que é o nome do seu campo no formulário, na rotina que esta dentro do < script > não mexe em nada.

if ({situacao_status} == 'Emprestado') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERMELHO CLARO')");	
}

if ({situacao_status} == 'Devolvido') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERDE CLARO')");		
}

E qual a versão do seu Scriptcase?

9.6. Scriptcase

Coloquei da forma que informou. No onload dentro do form

Cola aqui uma print-screen dos campos da sua tela, mostrando o nome deste campo situacao_status, e coloca todo o código OnLoad que você colocou, copia e cola o código aqui no forum entre [ code ] [ /code] para ele aparecer correto para eu pode checar o que você esta fazendo errado.
image

Segue conforme solicitado.


```
echo "
<script type='text/javascript'>

function TarjetaCOR_JS(Campo, Cor) {

	var Campo = 'id_sc_field_' + Campo.toLowerCase();

	switch (Cor) {

		case 'ROXO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#6500CC';
			break;

		case 'VERDE ESCURO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#003300';
			break;

		case 'ROSA':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#FF00FF';
			break;

		case 'BRANCO':
			var Cor_Texto =  'black';
			var Cor_Fundo = '#FFFFFF';
			break;

		case 'LARANJA':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#FF6500';
			break;

		case 'VERMELHO ESCURO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#800000';
			break;

		case 'VERDE CLARO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#008000';
			break;

		case 'MARROM':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#993300';
			break;

		case 'CINZA':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#808080';
			break;

		case 'AMARELO':
			var Cor_Texto =  'black';
			var Cor_Fundo = '#FFFF00';
			break;

		case 'PRETO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#000000';
			break;

		case 'VERMELHO CLARO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#FF0000';
			break;

		case 'BEGE':
			var Cor_Texto =  'black';
			var Cor_Fundo = '#FFCC99';
			break;

		case 'AZUL ESCURO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#000080';
			break;

		case 'AZUL CLARO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#3365FF';
			break;

		default:
			// VERDE CLARO
			var Cor_Texto =  'white';
			var Cor_Fundo = '#008000';

	} // switch (Cor)

	document.getElementById(Campo).style.color = Cor_Texto;
	document.getElementById(Campo).style.fontWeight = 'bold';
	document.getElementById(Campo).style.backgroundColor = Cor_Fundo;

} // function TarjetaCOR_JS(Campo, Cor)

</script>";

if ({situacao_status} == 'Emprestado') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERMELHO CLARO')");	
}

if ({situacao_status} == 'Devolvido') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERDE CLARO')");		
}
```

imagecampo

Apague todos os dados do seu OnLoad e faça um teste para ver se a função sc_ajax_javascript,
esta funcionando, cole isso no OnLoad:

{situacao_status} = 'teste';

$_Comando_JS = "alert('Teste JS = ".{situacao_status}."')";

sc_ajax_javascript($_Comando_JS);

Aqui no meu teste veja como funciona:

Ficou assim o meuteste1

Ok então apague tudo novamente do OnLoad e cole esse código sem mexer em nada:

echo "
<script type='text/javascript'>

function TarjetaCOR_JS(Campo, Cor) {

	var Campo = 'id_sc_field_' + Campo.toLowerCase();

	switch (Cor) {

		case 'ROXO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#6500CC';
			break;

		case 'VERDE ESCURO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#003300';
			break;

		case 'ROSA':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#FF00FF';
			break;

		case 'BRANCO':
			var Cor_Texto =  'black';
			var Cor_Fundo = '#FFFFFF';
			break;

		case 'LARANJA':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#FF6500';
			break;

		case 'VERMELHO ESCURO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#800000';
			break;

		case 'VERDE CLARO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#008000';
			break;

		case 'MARROM':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#993300';
			break;

		case 'CINZA':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#808080';
			break;

		case 'AMARELO':
			var Cor_Texto =  'black';
			var Cor_Fundo = '#FFFF00';
			break;

		case 'PRETO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#000000';
			break;

		case 'VERMELHO CLARO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#FF0000';
			break;

		case 'BEGE':
			var Cor_Texto =  'black';
			var Cor_Fundo = '#FFCC99';
			break;

		case 'AZUL ESCURO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#000080';
			break;

		case 'AZUL CLARO':
			var Cor_Texto =  'white';
			var Cor_Fundo = '#3365FF';
			break;

		default:
			// VERDE CLARO
			var Cor_Texto =  'white';
			var Cor_Fundo = '#008000';

	} // switch (Cor)

	document.getElementById(Campo).style.color = Cor_Texto;
	document.getElementById(Campo).style.fontWeight = 'bold';
	document.getElementById(Campo).style.backgroundColor = Cor_Fundo;

} // function TarjetaCOR_JS(Campo, Cor)

</script>";

sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERDE CLARO')");

if ({situacao_status} == 'Emprestado') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERMELHO CLARO')");	
}

if ({situacao_status} == 'Devolvido') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERDE CLARO')");		
}

Vi que seu campo é um SELECT, ai até mudei aqui no meu teste para ver, e funciona normal também.

Ficou tudo verde mesmo selecionando outrodev

gijunior se sabe que eu gosto de você?

No seu Texto esta escrito tudo em Maísculo DEVOLVIDO na rotina eu Coloquei Devolvido
então é só alterar o seu if na rotina para ficar igual ao Texto que você digitou no Select:

if ({situacao_status} == 'EMPRESTADO') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERMELHO CLARO')");	
}

if ({situacao_status} == 'DEVOLVIDO') {
	sc_ajax_javascript("TarjetaCOR_JS('situacao_status', 'VERDE CLARO')");		
}

Nossa realmente perdão não me atentei a isto. Deixa eu mudar

Fiz estas alterações e ficou do mesmo jeito.

";

sc_ajax_javascript(“TarjetaCOR_JS(‘situacao_status’, ‘VERDE CLARO’)”);

if ({situacao_status} == ‘EMPRESTADO’) {
sc_ajax_javascript(“TarjetaCOR_JS(‘situacao_status’, ‘VERMELHO CLARO’)”);
}

if ({situacao_status} == ‘DEVOLVIDO’) {
sc_ajax_javascript(“TarjetaCOR_JS(‘situacao_status’, ‘VERDE CLARO’)”);
}

Ficou Tudo VERDE é que coloquei como Padrão Tudo Verde agora teste SALVAR Como EMPRESTADO, e veja se Fica vermelho.

Coloque também Título de negação no campo como: Selecionar… igual aqui:

EMPR Capturar

Te mandei uma MP = Mensagem Privada, instala o TEAM VIEWER.

Muito Obrigado pela ajuda funcionou certinho.

1 Curtida

Boa tarde, o que estou fazendo de errado? Quando seleciono a unidade ele puxa so que tem naquela unidade o andar correto, mais quando seleciono o andar ele não acha o setor,

Um funciona o outro não.

localidade andar setor