Forum Moderators: open

Message Too Old, No Replies

javascript form help

form validation

         

friendproject

7:37 am on Jan 24, 2008 (gmt 0)

10+ Year Member



Below is a form validation code I am trying to use, the problem with it is that it will popup telling me I need to enter data in missing fileds but it then submits the form anyways

<script language="javascript">
function check(form) {
var obj,msg;
msg = '';
var requireds = new Array('cboCategory','txtsubject');
for (i=0;i<requireds.length;i++) {
obj=eval('form.'+requireds[i]);
if ((obj.type=='select-one') && (obj.selectedIndex==0)) {
msg = 'Please select your '+ requireds[i];
}
else if (obj.value == '') {
msg = 'Please enter your ' + requireds[i];
}
if (msg!='') { break; }
}
if (msg!= '') { alert(msg); }
else { form.submit(); }
}
</script>

<form name="form1" method="POST" action="submit_blog.php">
more form fields here i didnt include them all
<textarea name="txtBody" rows="20" cols="70"></textarea>
<input type="hidden" name="addblog" value="yes">
<input type="submit" name="addblog" value=" Post " onclick="check(this.form);">

daveVk

11:26 am on Jan 24, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



<script language="javascript">
function check(form) {
var obj,msg;
msg = '';
var requireds = new Array('cboCategory','txtsubject');
for (i=0;i<requireds.length;i++) {
obj=eval('form.'+requireds[i]);
if ((obj.type=='select-one') && (obj.selectedIndex==0)) {
msg = 'Please select your '+ requireds[i];
}
else if (obj.value == '') {
msg = 'Please enter your ' + requireds[i];
}
// if (msg!='') { break; }
}
if (msg!= '') { alert(msg); return false;}
// else { form.submit(); }
}
</script>

<form name="form1" method="POST" action="submit_blog.php">
more form fields here i didnt include them all
<textarea name="txtBody" rows="20" cols="70"></textarea>
<input type="hidden" name="addblog" value="yes">
<input type="submit" name="addblog" value=" Post " onclick="return check(this.form);">

Also consider taking onclick off input submit and add onsubmit="return check(this);" to form element

friendproject

1:24 pm on Jan 24, 2008 (gmt 0)

10+ Year Member



hi thanks for the reply when I try this method it just doesn't do the alert anymore

daveVk

12:39 am on Jan 25, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Try your original code with this change

<input type="submit" name="addblog" value=" Post " onclick="check(this.form);return false;">

friendproject

12:48 am on Jan 25, 2008 (gmt 0)

10+ Year Member



great that worked =) thanks