Ciao, se su onclick richiami direttamente la funzione redirect(), è normale che quella funzione sia eseguita subito.
Per risolvere puoi impostare il setTimeout su onclick:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
<script type="text/javascript">
function redirect() {
location.href = "all.php";
}
</script>
</head>
<body>
<input onclick="setTimeout(redirect,1000);">
</body>
</html>
Oppure (su onclick) richiamare una funzione in cui, al suo interno, ci sia il setTimeout:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
<script type="text/javascript">
function redirect() {
setTimeout(function(){location.href = "all.php"}, 10000);
}
</script>
</head>
<body>
<input onclick="redirect();">
</body>
</html>
PS: quando apri delle discussioni sul forum, ti consiglio di utilizzare titoli meno generici (vedi regolamento di sezione)