Jump Problem

I was watching a youtube video about how to make a ball jump using unity. this is the code I have so far

#pragma strict

var rotationSpeed = 100;
var jumpHeigth = 8;

private var isFalling = false;
 function Update () 
	//Handle Ball rotation.
	var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed;
	rotation *= Time.deltaTime;
	rigidbody.AddRelativeTorque (Vector3.back * rotation);
	if (Input.GetKeyDown (KeyCode.W) && isFalling == false);
	rigidbody.velocity.y = jumpHeigth;
	isFalling = true;


function OnCollisionStay ()
	isFalling = false;

Now when I added the jump into the code it makes the ball float away without me pressing any buttons. While it’s funny to watch it happen every now and then it is not practical to do what am I doing wrong?

You’ve got a semicolon at the end of your IF statement. It shouldn’t be there, it causes a code break, so your game is just going to check that, then no matter what, do what’s in the brackets below, as it has no condition attached to it.

This was very helpful