Testing the textarea
http://stackoverflow.com/questions/17130827/my-form-submits-data-even-if-it-is-invalid-but-my-validation-works-fine
HTML
<div id="wrapper">
<span id="error_box" style="display:none; color:red;"></span>
<form name="storyTeller" id="storyTeller" method="get" action="" onSubmit="return validateForm()">
<p class="title">
<label for="title">TITLE:</label>
<input type="text" id="title" name="title" onblur="validateEntry(this)" />
</p>
<textarea name="entry" id="entry" rows="10" cols="45" onblur="validateEntry(this)" style="visibility:hidden"></textarea>
<input type="submit" value="submit" />
</form>
</div>
JavaScript
function validateEntry(entry) { /*validating*/
var error_box = document.getElementById('error_box');
error_box.style.display = "none";
//console.log(entry, entry.nodeName, entry.name, error_box);
//to view console messages in Firefox press Ctrl+Shift+K & in Chrome Ctrl+J
if (entry.name == "title") { // INPUT type="text"
if (!isNaN(entry.value)) {
error_box.innerHTML = 'Please enter a valid title';
error_box.style.display = "block";
entry.style.background = "#fee";
return false;
} else {
entry.style.background = "#ccffcc";
return true;
}
} else if (entry.name == "entry") { // TEXTAREA
var x = entry.value.trim();
if ((x == "") || (x == null)) {
error_box.innerHTML = 'Where is your story?';
error_box.style.display = "block";
entry.style.background = "#fee";
return false;
} else {
entry.style.background = "#ccffcc";
return true;
}
}
}
function validateForm() { /*validating the form*/
var form = document.forms['storyTeller'];
var error_box = document.getElementById('error_box');
var error = 0;
var error_msg = '';
if (!validateEntry(form['title'])) {
error++;
error_msg += error_box.innerHTML + '<br/>';
}
if (!validateEntry(form['entry'])) {
error++;
error_msg += error_box.innerHTML;
}
if (error > 0) {
error_box.innerHTML = error_msg;
error_box.style.display = "block";
return false;
} else {
error_box.style.display = "none";
return true;
}
}