I am trying to make a javascript project in its basic stage in which the script should prompt the user, ask a digit as input, convert the digit into letters and display it to the user. However the script it not working as it should.
<html>
<head>
<script type="text/javascript">
function num()
{
var arr1=new Array();
var arr2=new Array();
var i;
var start=0;
var end=start + 1;
arr1[0]=prompt('Enter Number');
for (i=0;i<2;i++)
{
arr2[i]=arr1[0].slice(start, end);
arr2[i]=parseInt(arr2[i]);
start++;
end=start + 1;
switch(arr2[i])
{
case 1:
document.body.innerHTML = document.body.innerHTML + 'one';
break;
case 2:
document.body.innerHTML = document.body.innerHTML + 'two';
break;
case 3:
document.body.innerHTML = document.body.innerHTML + 'three';
break;
case 4:
document.body.innerHTML = document.body.innerHTML + 'four';
break;
case 5:
document.body.innerHTML = document.body.innerHTML + 'five';
break;
case 6:
document.body.innerHTML = document.body.innerHTML + 'six';
break;
case 7:
document.body.innerHTML = document.body.innerHTML + 'seven';
break;
case 8:
document.body.innerHTML = document.body.innerHTML + 'eight';
break;
case 9:
document.body.innerHTML = document.body.innerHTML + 'nine';
break;
}
}
}
onload=num();
</script>
</head>
<body>
</body>
</html>
Particularly, I really don’t like
switchstructure. I prefer JavaScript literal object notation.Check this below:
html
<input type="button" id="getMyNumber" value="Get my Number"/>JavaScript + jQuery
If you prefer, here goes jsFiddle. No conversion or tricks needed, just simple JavaScript.
Some references:
Mozilla – Working with Objects
The Case against Switch
— EDIT —
Here is the solution with JavaScript only, to avoid the critics (jQuery loading, heavy loading, etc):
html
<input type="button" id="getMyNumber" value="Get my Number" onclick="getNumberRepresentation()" />JavaScript Only
Another jsFiddle version.