PDA

View Full Version : [Javascript]: il mio primo programma funziona, il secondo no.


LS1987
18-09-2011, 15:51
Buonasera, ho fatto due programmi in Javascript. Il primo funziona ed è un programma semplice:


<html>
<head>
<script language="Javascript" type ="text/Javascript">
var nome;
nome = prompt("Come ti chiami?", "nome");
alert("Benvenuto "+ nome);
</script>
</head>
<body bgcolor="#333333" text="#00FF00">
<script language="Javascript" type="text/javascript">
document.write("Benvenuto " + nome + "<br>");
</script>
</body>


Mi restituisce una pagina in cui c'è solo una stringa benvenuto + nome inserito (oltre al relativo alert).

Il secondo purtroppo non funziona, vorrei sapere il perché dato che la Console di Javascript non mi riporta errori.

<html>
<head>
<script language="Javascript" type ="text/Javascript">
var nome;
nome = prompt("Come ti chiami?", "nome");
var auth = window.confirm("Autorizzi il trattamento dei tuoi dati personali");
alert("Benvenuto "+ nome);
</script>
</head>
<body bgcolor="#333333" text="#00FF00">
<script language="Javascript" type="text/javascript">
document.write("Benvenuto " + nome + "<br>");
if (auth)
document.write("<b>Autorizzazione concessa </b>");
else
document.write("<b>Autorizzazione <h1> non </h1> concessa, <text = "#858585"> che peccato </text> </b>");
</script>
</body>


Quello che vorrei che mi restituissse è una pagina in cui c'è scritto:

Benvenuto nome
autorizzazione concessa, se viene premuto OK, altrimenti
autorizzazione non concessa che peccato (a meno della formattazione).

GLi alert funzionano, ma sulla pagina non appare nulla.

Sono esercizi adattati da un altro sito: sarebbe meglio mettere il link?

s1m0_93
18-09-2011, 19:56
if (auth)
document.write("<b>Autorizzazione concessa </b>");
else
document.write("<b>Autorizzazione <h1> non </h1> concessa, <text = "#858585"> che peccato </text>



Il problema sono le doppie virgolette nel secondo document.write.
Non puoi usare le doppie virgolette in una stringa, devi sostituirle con i singoli apici (oppure invece delle doppie virgolette, usi gli apici per iniziare la stringa).

LS1987
18-09-2011, 20:52
if (auth)
document.write("<b>Autorizzazione concessa </b>");
else
document.write("<b>Autorizzazione <h1> non </h1> concessa, <text = "#858585"> che peccato </text>



Il problema sono le doppie virgolette nel secondo document.write.
Non puoi usare le doppie virgolette in una stringa, devi sostituirle con i singoli apici (oppure invece delle doppie virgolette, usi gli apici per iniziare la stringa).

Problema risolto (c'era anche un tag da cambiare). Si può chiudere