[RESOLVIDO] Tratar variável global e campo dentro função javascript

Olá.

Tenho uma mensagem de confirmação javascript no Form > onSubmit que somente deve ser exibida se a comparação entre conteúdo da variável global for maior do que o conteúdo do campo.

Como a função javascript recupera a variável global e o campo?

Tentei assim e não exibe a mensagem:

if ({valor_recebido} < [valor_faltante]) {
   if (confirm('Valor a menor. Confirma Baixa Parcial?')){
      document.F1.retornojavascript.value = 'S';
   } else {
      document.F1.retornojavascript.value = 'N';
   }
}

Desde já, grata pela atenção.

Os valores dos campos são acessados através da sintaxe abaixo:
document.F1.nome_campo.value

As variáveis globais são variáveis de sessão, ou seja, $_SESSION[‘variavel_global’]
Assim, leia o artigo: http://stackoverflow.com/questions/17270962/how-to-reach-php-session-array-in-javascript

Faz assim que é mais fácil.

FORMULARIO: BOTÃO INCLUIR
Coloque no Evento: onScriptInit

?>
<script>
window.onload = function() { 
	document.getElementById('sc_b_ins_b').onclick = alerta;
	function alerta() {
	
	var js_valor_recebido = "<?php echo {valor_recebido};?>";
	var js_glo_valor_faltante = "<?php echo [glo_valor_faltante];?>";
	
	if (js_valor_recebido<js_glo_valor_faltante) {
	
		if (!confirm("Deseja Realmente Continuar??")) {
			return false; // Fecha a Caixa do Javascript e volta para onde estava...
		}
		
		// CONTINUA... com a execução da rotina normal...
		nm_atualiza('incluir');
	}
	
	} // fim: Function alerta()
};
</script>
<?php

Nível senior master hard sua sugestão. Preciso estudar pra entender kkkk

Obrigada!

kkkkkkkkkkkkkkkkk até pra mim também!!!

outra opção:
OnscriptInit:

echo " <scrpt> var jsGlobal; </script> "; sc_btn_dislpay("btnAjaxGlobal", "off");
Em programação javascript:

crie uma função: jsCapture(valor)
{

jsGlobal=valor;

}

Crie um botão ajax:btnAjaxGlobal e no seu evento:

sc_ajax_javascript("jsCapture",Array([MyGlobal]));

nos seus eventos do formulário:

[MyGlobal]=[OutraGloabal] ou um valor qualquer


sc_ajax_javascript("sc_btn_ProcessaAjax",Array());

//ou 
echo "<script>sc_btn_ProcessaAjax();</script>";

Dessa forma você consegue manipular o valor da global ou de qualquer variável php e passar para o javascript dinamicamente.

Particularmente eu não gosto muito de indo em voltando entre sessões php e html (<? echo $var; ?>)


echo "<script> var jsGlobal='[myGlobal]';</script>";

Haroldo,

Fiz como vc postou (usando o evento onValidate) e fiquei com algumas dúvidas:

  1. Assim que abre o formulário está apresentando no canto superior esquerdo o texto
var jsGlobal;

É assim mesmo?

  1. Se o botão é btnAjaxGlobal devo ajudar a macro sc_ajax_javascript pra passar “sc_btn_Ajax_Global” ao invés de “sc_btn_ProcessaAjax”? E devo passar minhas globais no parâmetro “Array()”?

  2. Como seria a leitura desse array do lado js?

Desde já, grata pela atenção mais uma vez.

A solução que achei foi um “ajuste técnico” com base na resposta do Ronyan, mas sem usar sessão:

Criei um campo e atribuí o valor da variável global a ele:

{faltante} = ROUND([valor_faltante], 2);

O acesso no javascript ficou assim:

var js_glo_valor_faltante = document.F1.faltante.value;

Obrigada a todos pela ajuda!