2012-05-23 14 views
5

Zasadniczo mam skrypt, który sprawdza bazę danych co 10 sekund i powiadamia użytkownika, jeśli dane zostały zmienione za pomocą pola alertu javascript. Ale potrzebuję również zmienić bazę danych, gdy użytkownik zobaczy alert i kliknął przycisk OK. Czy możliwe jest uruchomienie funkcji javascript, gdy użytkownik kliknie "OK" w alertach javascript?Uruchom inny javascript, gdy użytkownik kliknie "ok" w polu alertu.

Tak na przykład

<html> 
<head> 
<script type="text/javascript"> 
function show_alert() 
{ 
alert("New data!"); 
} 
</script> 
</head> 
<body> 

<input type="button" onclick="show_alert()" value="Show alert box" /> 

</body> 
</html> 

A kiedy użytkownik kliknie przycisk OK należy uruchomić tę funkcję

function UpdateDB() 
    { 
     jQuery.ajax({ 
     type: "POST", 
     url: "update.php", 
     data: 'condition=ok', 
     cache: false, 

    }); 
} 
+0

użycie potwierdzić zamiast wpisu http://www.tizag.com/javascriptT/javascriptconfirm.php –

+1

@Bondye nic złego w pogotowiu. Nie chce potwierdzenia użytkownika. – Jivings

+0

@Jivings Co na temat 'kiedy użytkownik zobaczył alert i kliknął OK'' –

Odpowiedz

8

Funkcja alert zatrzymuje wykonywanie kodu, dopóki nie zostanie odrzucony. Oznacza to, że dowolny kod, który chcesz uruchomić po kliknięciu alertu, można po prostu umieścić po wywołaniu metody alert.

alert("New data!"); 
UpdateDB(); 
+0

Działa to dobrze, jeśli robię tylko funkcję, w której wysyła dane do serwera. Ale potrzebuję mojej funkcji, aby odświeżyć stronę po POST. Ale kiedy dodaję sukces: sukces: funkcja (odpowiedź) { window.location.reload() } "po prostu ciągle się przeładowuje, nawet bez wyświetlania alertu. – user1323294

+0

Czy możesz utworzyć jsfiddle.net o tym, w jaki sposób wprowadzasz to w błąd, a ja przyjrzę się temu. –

+0

To jest to, czego używałem: http://jsfiddle.net/FFMrz/ Więc pobiera dane z serwera co 10 sekund i jeśli dane uległy zmianie, pokazuje alert. A po naciśnięciu przycisku OK należy wykonać test POST jQuery, a następnie ponownie załadować okno. Ale teraz wygląda na to, że POST automatycznie aktualizuje okno bez ostrzeżenia ... – user1323294

6
function show_alert() 
{ 
    alert("New data!"); 
    UpdateDB(); 
} 
7

czego naprawdę szukasz to confirm(). Nie wydaje mi się, żebyś mógł działać w trybie alarmowym (a naprawdę nie chcesz, ponieważ nie pozostawia użytkownikowi możliwości zmiany zdania!) ...

tak ...

if (confirm("Do you REALLY want this?")){ 
    //your AJAX CALL HERE 
} 
+0

Nie, jeśli nie chce potwierdzenia użytkownika. – Jivings

+2

Zapominając na chwilę, że OP faktycznie zapytał o to PRECISELY, kiedy powiedział ... "kiedy użytkownik zobaczył alert i kliknął OK", jaki jest sens Alertu? Użytkownik nacisnął przycisk. Jeśli cokolwiek chcesz, będziesz potrzebował alertu po powrocie połączenia Ajax, w przeciwnym razie nie będzie to miało żadnego celu! I dziękuję za głosowanie w dół. Naprawdę pomagasz społeczności ze swoją starannością. Będę z pewnością pomyśleć dwa razy, zanim zawracam sobie głowę, by spróbować komuś pomóc. –

+0

+1 dla Dr.Dredel, Daj użytkownikom WYBÓR !! –

Powiązane problemy