Reputation: 43
I'm a beginner in Javascript and I'd like to convert °C to °F so I did this program but it doesn't work.
function convertisseur() {
var celsius = parseInt(document.getElementById("celsius").value);
var fara = celsius * 1.8 + 32.0;
document.getElementById("text").innerHTML = celsius;
document.getElementById("text2").innerHTML = fara;
}
<form action="" class="formulaire">
<input type="text" placeholder="Température en °C" id="celsius">
<input type="submit" value="Valider" onclick="convertisseur()">
</form>
<p><span id="text"></span>°C équivaut à <span class="text2"></span>°F</p>
Upvotes: 0
Views: 161
Reputation: 76
When you say "it doesn't work", it can be hard to tell what you mean. Try to be descriptive about the problem. Is anything showing when you load the HTML into a browser? What's the expected behavior, and what is happening instead? What have you tried in order to fix the problem?
From what I see here, I'll suggest that you should make sure you've included your JavaScript into your HTML correctly, either by
a) placing it between tags like so: <script>Your code here.</script>
or
b) including the script file in a src attribute like so: <script src="script.js"></script>
Otherwise, look over your HTML again and make sure all your opening tags that need a closing tag have one in the right place. And make sure you don't have any closing tags without an opening tag.
Upvotes: 0
Reputation: 3386
I have update it check it 'text2' is class not an id so use document.getElementsByClassName to access it
<form action="" class="formulaire">
<input type="text" placeholder="Température en °C" id="celsius">
<input type="button" value="Valider" onclick="convertisseur()">
</form>
function convertisseur() {
var celsius = parseInt(document.getElementById("celsius").value);
var fara = celsius * 1.8 + 32.0;
document.getElementById("text").innerHTML = celsius;
document.getElementsByClassName('text2')[0].innerHTML = fara;
}
Upvotes: 0
Reputation: 33726
Three things:
span
with class text2
because you actually want to add an id. event
as follow: onclick="convertisseur(event)"
function convertisseur(e) {
e.preventDefault();
var celsius = parseInt(document.getElementById("celsius").value);
var fara = celsius * 1.8 + 32.0;
document.getElementById("text").innerHTML = celsius;
document.getElementById("text2").innerHTML = fara;
}
<form action="" class="formulaire">
<input type="text" placeholder="Température en °C" id="celsius">
<input type="submit" value="Valider" onclick="convertisseur(event)">
</form>
</div>
<p><span id="text"></span>°C équivaut à <span id="text2"></span>°F</p>
I recommend you to embrace the function addEventListener
document.getElementById('button').addEventListener('click', convertisseur);
function convertisseur(e) {
e.preventDefault();
var celsius = Number(document.getElementById("celsius").value);
var fara = celsius * 1.8 + 32.0;
document.getElementById("text").innerHTML = celsius;
document.getElementById("text2").innerHTML = fara;
}
<form action="" class="formulaire">
<input type="text" placeholder="Température en °C" id="celsius">
<input id='button' type="submit" value="Valider">
</form>
<p><span id="text"></span>°C équivaut à <span id="text2"></span>°F</p>
Upvotes: 6