You can simplify this whole thing.  If you are always grabbing the input with id 'number' you don't need to pass a param, and then after a simple test  you can inline the answer you want:
function oddOrEven(){
   var val = document.getElementById('number').value;
   var number = parseInt(val, 10);
   // if it's not a valid number, you'll have NaN here which is falsy
   if (number) {
      document.getElementById('demo').innerHTML = (number % 2) ? "Even" : "Odd";
   }
}
All that said, I just caught that you're talking about 17 digits (thanks to @JJJ's comment) rather than using the function more than once.  The problem in this case is that JS integers have a size limit.  If you parse anything larger it returns a number you're not going to expect.  There are a lot of discussion of general handling of very large numbers here: http://2ality.com/2012/07/large-integers.html, but for your modulus problem you could take the last digit and check if that's odd or even like so:
function oddOrEven(){
   var val = document.getElementById('number').value;
   var number = parseInt(val, 10);
   // if it's not a valid number, you'll have NaN here which is falsy
   if (number) {
      var lastDigit = val[val.length-1];
      document.getElementById('demo').innerHTML = (parseInt(lastDigit, 10) % 2) ? "Even" : "Odd";
   }
}