Pegar o que o usuário selecionou(Alert do tipo Confirmation)

Como que faço para saber se o usuário clicou no sim ou no não do meu Alert do tipo Confirmation ?

<script type="text/javascript">
if(confirm("Sim ou nao?")){
alert('SIM!');
} else {
alert('NÃO');
}
</script>

a função confirm(“Pergunta”) retorna true/false ( OK = true, CANCEL = false )
:smiley:

PS: http://www.w3schools.com/js/

[quote=Rafaelprp] &lt;script type="text/javascript"&gt; if(confirm("Sim ou nao?")){ alert('SIM!'); } else { alert('NÃO'); } &lt;/script&gt;

a função confirm(“Pergunta”) retorna true/false ( OK = true, CANCEL = false )
:smiley:

PS: http://www.w3schools.com/js/ [/quote]
Se eu não me engando, quando vc aperta ESC ele retorna null ^^

Mas é pra J2ME !

AaUHahuhaUHaUH
mandei mal :oops:

Não entendi!

Um AlertType.CONFIRMATION é isso que vc está pedindo?!
Que eu saiba ele não abre opções para vc selecionar Sim ou Não, ou algo do tipo.
Alerts são simples alerts, para dar uma mensagem ao usuário, somente isso.

ao menos acho eu…

abraços!

Eu estava dando uma estudada pelo que eu vi vc está usando MIDP2 e pelo que eu li na documentação quando vc põe um AlertType.CONFIRMATION ele não poria automaticamente Command’s para isso e teoricamente o Sim e o Não teriam que ser postos via addCommand(Command cmd) e se tiver implementado a função de commandAction (supondo que foi criada uma classe herdando de Alert para poder implementar o CommandListener) mas há a possibilidade de que o fabricante tenha implementado que quando se usasse um AlertTyoe.CONFIRMATION automaticamente pusse Sim e Não e nesse caso eu tenho a minima idéia como saber qual foi clicado.
Embora o que eu disse foi em cima do rápido estudo que eu fiz sobre a API e portanto posso estar enganado

Estou querendo fazer a mesma coisa que o Edinei e ainda não consegui.

Realmente é preciso implementar os Commands para o OK e o Cancel (ou Sim e Não). Só que fica complicado implementar um Alert para cada pergunta que o programa fizer. Tentei então fazer uma classe que mostrasse a mensagem e retornasse o que usuário selecionou. Mas não funciona, porque o Midlet não deixa ficar travado esperando o usuário selecionar uma opção. Pelo menos eu não consegui.

Um exemplo do que queremos é o código que tentei fazer abaixo:

MessageQuestion msg = new MessageQuestion(Display.getDisplay()); msg.Show("Deseja remover o servidor " + dadoArquivo.servidores[listaServidores.getSelectedIndex()].nome + "?", "Confirmação", AlertType.CONFIRMATION); if (msg.result == true) { // Faz a exclusão }
Mas não consegui fazer o Alert aparecer e ficar aguardando o usuário selecionar um item para depois continuar o código para validar o que foi selecionado.
Alguém que já fez sistemas grandes em JavaME já passou por este problema? Como vocês fazem esta interação com o usuário?

No meu caso eu consegui resolver o problema. Falta fazer mais implementações para ficar mais funcional. É meio estranho a forma de programar, ainda mais para mim que estava acostumado com Delphi.

Alert alerta = new Alert("", "teste", null, AlertType.CONFIRMATION); alerta.addCommand(get_okCommand()); alerta.addCommand(get_cancelCommand()); alerta.setCommandListener(new CommandListener() { public void commandAction(Command command, Displayable displayable) { if (command == okCommand) { helloStringItem.setText("OK"); } else if (command == cancelCommand) { helloStringItem.setText("Cancelou"); } getDisplay().setCurrent(helloForm); } }); getDisplay().setCurrent(alerta);
Vale lembrar que fiz na IDE do NetBeans, que me disponiviliza as funções para os comandos (get_okCommand e get_cancelCommand) e para o display (getDisplay).