Why isn't my jumping script working?

Okay, so I am currently working on a game with a character that I want to be able to jump only once until he hits the ground again so I wrote a code to make him do exactly that but now he can only jump once the whole entire game. Here is the code I used.

bool isgrounded = true;

void Update () {
	if (isgrounded == true) {
		if (Input.GetKeyDown(KeyCode.Space)) {
			GetComponent<Rigidbody2D>().velocity = new Vector2 (0f, 7f);
			isgrounded = false;
		}
	}
}

void OnCollisionEnter2D (Collision2D coll) {
	if (coll.gameObject.tag == "GroundCollider") {
		isgrounded = true;
	}
}

Your solution is in your error:

void OnCollisionEnter2D (Collider2D coll) {

Should be

void OnCollisionEnter2D (Collision2D coll) {

See: Unity - Scripting API: MonoBehaviour.OnCollisionEnter2D(Collision2D)