The Sysadmin Notebook  

Sitemap

Writing Text

Avoid annoying alert popups

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
http://www.w3.org/TR/html4/strict.dtd">
<html dir="ltr" lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>DOM Example</title>
	<script type="text/javascript" src="checkdate.js"></script>
</head>

<div id="content">
	<h1>Events Search</h1>
	<form action="eventssearch.php" method="post" onsubmit="return checkDate();">
		<p>
			<label for="date">Date in the format DD/MM/YYYY:</label><br />
			<input type="text" id="date" name="date" />
			<input type="submit" value="Check " />
			<br />(example 26/04/1965) <span class="error"> </span>
		</p>	
	</form>
</div>

And the source script:

function checkDate() {
	if (!document.getElementById || !document.createTextNode) {
		return;
	}
	var dateField=document.getElementById('date');
	if (!dateField) {
		return;
	}
	var errorContainer=dateField.parentNode.getElementsByTagName('span')[0];
	if (!errorContainer) {
		return;
	}
	var checkPattern = new RegExp("\\d{2}/\\d{2}/\\d{4}");
	var errorMessage='';
	errorContainer.firstChild.nodeValue='';
	var dateValue=dateField.value;
	if (dateValue == '') {
		errorMessage='Please provide a date.';
	}
	else if(!checkPattern.test(dateValue)) {
		errorMessage='Please provide the date in the defined format.';
	}
	if (errorMessage!='') {
		errorContainer.firstChild.nodeValue=errorMessage;
		dateField.focus();
		return false;
	}
	else {
		return true;
	}
}
//window.onload = checkDate();