[RESOLVIDO] - Botão AJAX executa instrução e precisa CONFIRMAR

Olá Ilustres companheiros do SC.

Estou com uma atividade onde após a execução de uma determinada instrução em PHP necessito exibir um popup de confirmação.

Código da instrução abaixo:

[code]$sql=“Select
IDGRUPOPRODUTOS
from
INDICE_SETORIAL
where
ANO = TO_CHAR(to_date(’{PERIODO_INDICE}’, ‘mm/yyyy’), ‘YYYY’) AND
MES = TO_CHAR(to_date(’{PERIODO_INDICE}’, ‘mm/yyyy’), ‘MM’)”;

sc_select(meus_dados, $sql);

/* Erro no select */
if ({meus_dados} === false) {

sc_error_message("Ocorreu um erro no acesso ao<BR>banco de dados: {meus_dados_erro}.<BR>");

}
else{

 $QtdeRegistros=$meus_dados->RecordCount();

 if ($meus_dados) {
	 
	 	 
	sc_confirm ("Do you really wish to execute this action??"); // AQUI SERIA EXIBIDA A CONFIRMAÇÃO
 
 }

}[/code]

Estou utilizando esta macro “sc_cofirm” mas não acontece nada e tbm não sei como tratá-la de maneira adequada, olhei no próprio manual do SC pra ver como usar e tem bem pouca coisa explicando, então dei uma garimpada no forum achei algumas coisas relacionadas à confirmação. Mas não me serviu.

Nesta confirmação, caso o usuário escolha TRUE(OK, sim, confirma etc…) deve chamar uma série de Métodos PHP. Alguém poderia me ajudar?

Agradeço desde já a atenção!

em eventos ajax utilize a macro sc_ajax_message

OK Haroldo ele exibiu a msg corretamente. Mas o que eu necessito é de um “CONFIRM”, tipo algum que tenha o botão SIM/NÃO e eu consiga tratar a resposta dele de alguma maneira, para que execute as próximas instruções caso seja SIM a RESPOSTA e se for NÃO daí redireciona para outra app.

veja a propriedade button.

http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_ajax_message

Olá Haroldo bom dia! Eu achei esse código seu no fórum, e se vc puder gostaria que me explicasse como funciona. Pois eu li a documentação do SC que vc me recomendou até ajudou mas ali não tem explicitamente como faço pra tratar a resposta do usuário.

Código:

[code]$_teste=sc_ajax_message ("Já existe algum calculo para esse mês e ano , deseja
recalcular tudo?

							<button onclick='do_ajax_iw_exemplos_ajax_confirma_event_btok_onclick();
									_scAjaxMessageBtnClose(); return 	     
									false'>Sim</button>
									
							<button onclick='_scAjaxMessageBtnClose(); 
							return false'>Não</button><Br>
							
							<small>Esta janela se 	fechará em 10 segundos</small>", 
							
							 "Atenção", 
							
							 "top=100px&left=500px&timeout=10&show_close=N");
	sc_error_message($_teste);[/code]

Neste seu código tem o evento OnClick que chama um evento específico… No meu caso preciso chamar alguns Métodos PHP. Como eu faria isso ?

Obrigado !

Antigo isso hein?

Vamos por parte:

Veja o exemplo:

http://infinitusweb.net.br/iw_exemplos_ajax_confirma/

digite um valor em meucampo e tecle ou clique no botão [carregar metodo]

uma janela de confirmação surge e se a resposta for sim um método é executado se for não nada é feito.

A explicação é que eu jogo um código html dentro da mensagem ajax.

Como demonstra o código que você colou aí.

Vou disponibilizar o fonte do exemplo para vc em alguns minutos.

http://infinitusweb.com.br/ftp/sc8_201609261324_export_PluginsSC_2.zip

Haroldo mestre como sempre, muito bom o exemplo, as técnicas aplicadas é muito legal, não tinha nem pensado em usar daquela forma.

dei uma de Vampiro e suguei o exemplo, muito obrigado pela contribuição.

:slight_smile:

Haroldo, obrigado pelo exemplo!

Não sabia que o SC tinha Plugins… Como instalo? Tenho que jogar esse conteúdo dentro da pasta de instalação?

Na verdade, o que eu chamo de plugins, são técnicas de código que fogem do padrão do SC.

Há sempre o risco de em uma nova versão o SC mudar seu código interno e esses códigos pararem de funcionar necessitando novas adaptações.

Willian,

É sempre uma satisfação contribuir com a comunidade.

Abração.

Haroldo, infelizmente não consigo abrir os seus arquivos de exemplo que postou aqui ontem… Tentei pelo notepad++ está tudo minificado e tbm tentei importar como um projeto aqui dentro do meu SC, mas ele não deixou e me deu o seguinte aviso:

O arquivo não foi criado usando o ScriptCase versão 8

queria ver os códigos pra entender como vc fez de fato as coisas.

Obrigado pela atenção.

Tenha um ótimo dia!

importou como aplicação?
qual a versão do seu sc?

versão 8.1 ultimo release

Importei como aplicação aqui e sem problema.

versão do sc 8.1.046

Mas qual arquivo vc usa? o Zip direto?

em projetos/importar aplicação: selecione o arquivo.zip disponibilizado no download.

Opa bom dia!

Então consegui importar tudo direitinho… Mas o que não entendo é pq meu evento não faz nada… Fiz a chamada igualzinho a vc:

Este código está dentro do meu botão AJAX “calcula_indices”

[code] $_teste=sc_ajax_message ("Já existe algum calculo para esse mês e ano , deseja
recalcular tudo?

							<button onclick='do_ajax_calculo_indice_event_btok_onClick();
									_scAjaxMessageBtnClose(); 
									return false'>Sim</button>
									
							<button onclick='_scAjaxMessageBtnClose(); 
							return false'>Não</button><Br>
							
							<small>Esta janela se 	fechará em 10 segundos</small>", 
							
							 "Atenção", 
							
							 "top=100px&left=500px&timeout=10&show_close=N");
	sc_error_message($_teste);

[/code]

Este aqui fica dentro do evendo “btok_onclick”:

[code]sc_alert(‘areeee’);

echo “

”;
print_r(‘Briga de bar’);
echo “
”;
break;
//verifica_Complemento_RAC();[/code]

Não sei pq o sc_alert() nem o echo/

 não fazem nada após eu clickar no botão “SIM” que é o meu botão “btok” no caso. quando eu descomento a chamada da minha função tbm não chega nela.

Oque estou fazendo errado?

Descobri que o erro que está dando é esse:


ReferenceError: do_ajax_calculo_indice_event_btok_onClick is not defined

Pesquisei, descobri que ele está referenciando uma variável que supostamente não existe, mas como eu descubro isso se o evento ajax existe? Como mostrei acima.

3 anos depois e o mesmo problema rsrsrsrs.
Aqui mesmo clicando ou não o código php é executado após alguns segundos…
Tentei abrir os exemplos que vc postou em todos os fóruns mas nenhum funciona mais :frowning:
Dá uma luz aí pfv :smiley: