Salve a tutti!
Sto cercando di replicare i classici convertitore di temperatura da gradi celsius a fahrenheit e viceversa tramite uno javascript in un html file.

Il form e' composto da un box per l'inserimento del valore, un radiobox per la scelta della conversione da C&#176 a F&#176 o da F&#176 a C&#176, un tasto per la conversione

Vi posto il mio codice:
codice:

codice:
<!DOCTYPE html>
<html>
<head>
	<title>Convertitore C&#176 <-> F&#176</title>
</head>


<body>
<br><br>
	<div align="center">


	<form>
		<div align="right">
			<p align="center"><strong>F&#176 o C&#176 </strong>
				<input type="number" id="valore">
			</p>
		</div>
		<br><br>
			Da F&#176 a C&#176<input type="radio" name="gradi" id="celsius">
			<br><br>
			Da C&#176 a F&#176<input type="radio" name="gradi" id="fahrenheit">
		<br><br>
		<input type="submit" value="Calcola" onclick='conversione()'>
	</form>
	</div>


	<script type="text/javascript">
			var val = document.getElementById('valore').value;
			var ris=0;
                        
		function conversione(){
			
				if (document.getElementById('celsius').checked) {
					ris = (val -32)/1.8;
				};
				if (document.getElementById('fahrenheit').checked) {
					ris = (val *1.8)+32;
				};
			document.write("Risultato conversione: " +ris);
		}
	</script>
</body>
</html>


Ho diversi problemi e dubbi:
1) il principale e' che mi da' sempre lo stesso valore come risultato: da C
&#176 a F&#176 32 e da F&#176 a C&#176 -17.77777777777778
2) Mi esce il risultato (sbagliato) solo tramite Google Chrome e non tramite Safari
3) Quando pigio il bottone per la conversione, la pagina si aggiorna dandomi solo la scritta di del risultato mentre a me interessava che a
pparisse sotto al form ed al pulsante

Sono un ignorante in JS