<form id="myForm" action="page.php" method="post">
<!-- put your form stuff here -->
</form>
<script type="text/javascript">
// let's add the submit event handler to our form here via jQuery
$('form:eq(0)').submit(function(){
return validate(this);
});
function validate(targetForm){
// put your custom function here
alert(targetForm.elements.length);
}
</script>
<script>
function validate(targetForm) {
for (var i = 0; i < targetForm.elements.length; i++) {
if(targetForm.elements[i].getAttribute("isReq")) {
var message = targetForm.elements[i].getAttribute("message");
if(targetForm.elements[i].type == 'text') {
if(targetForm.elements[i].value == '') {
alert(message);
targetForm.elements[i].focus();
return false;
}
}
}
}
}
</script>
<form onsubmit="validate(this)">
<input type="text" name="surname" isReq="1" message="Please enter your surname.">
<input type="submit" name="send1" value="Send">
</form>
<form onsubmit="validate(this)">
<input type="text" name="comment" isReq="1" message="Please enter your comment.">
<input type="submit" name="send2" value="Send">
</form>
<script type="text/javascript">
$('form').submit(function(){
return validate(this);
});
function validate(targetForm)
{
var message = "":
var el = $(this).find('input:text[isReq]');
for(var a=0; a < el.length; a++)
{
if(el.eq(a).val()!='')
{
alert(el.eq(a).attr('message'));
el.eq(a).focus();
return false;
}
}
return true;
}
</script>
<form onsubmit="validate(this)">
<input type="text" name="surname" isReq="1" message="Please enter your surname.">
<input type="submit" name="send1" value="Send">
</form>
<form onsubmit="validate(this)">
<input type="text" name="comment" isReq="1" message="Please enter your comment.">
<input type="submit" name="send2" value="Send">
</form>`
refactor your code to look a bit like this :
(code snippet)
1. give your form an ID attribute value. or at least something to identify it by.
2. use jQuery to attach the submit event to your form. this should be cross-browser compliant.
good luck!
Open in new window