I have a web based form containg values typed in by the user. The first value is called noItems, which is outside the form. The form contains a persons name, the number of items,noSub, thay have submitted and their final grade. I need to use noItems and noSub to calulate their prcentage and store it in the grade column of the table. How do I use a command button to, when clicked, go through the data on the table and calculate the final grade(as a percentage for each row? When it is run all the fields just go blank.
my code is below:

<!--#include file="Connections/conn_3_coast.asp" -->
Dim rs_homework
Dim rs_homework_cmd
Dim rs_homework_numRows

Set rs_homework_cmd = Server.CreateObject ("ADODB.Command")
rs_homework_cmd.ActiveConnection = MM_conn_3_coast_STRING
rs_homework_cmd.CommandText = "SELECT DISTINCT tblStudent.Name, studentResults.enrolno FROM tblStudent INNER JOIN studentResults ON tblStudent.enrolno = studentResults.enrolno ORDER BY tblStudent.Name" 
rs_homework_cmd.Prepared = true

Set rs_homework = rs_homework_cmd.Execute
rs_homework_numRows = 0
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 25
Repeat1__index = 0
rs_homework_numRows = rs_homework_numRows + Repeat1__numRows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function calcGrade(){
	var tbl=document.getElementById('tblgrades');
	var tbl1=document.getElementById('tblNhwks_per');
	var trs1=tbl1.getElementByTagName('tr');
	var trs=tbl.getElementByTagName('tr');
	var tds1=tr[1].getElementsByTagName('td');
	var noHomeworks = tds1.noHomeworks;
	for (var i=0;i<trs.length;i++)
		//get all the tds in this tr
		var tds=tr[i].getElementsByTagName('td');
		for (var j=0;j<tds.length;j++)
			var pcag=(tds.submitted/noHomeworks)/100;
			if pcage<50
			if ((pcage>=50) and (pcage<=84))
			if pcage<84
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)

<form id="form2" name="form2" method="post" action="">
  <table width="293" border="1" id="tblNhwks_per">
      <td width="175">Number of Homeworks this period</td>
      <td width="102"><input type="text" name="noHomeworks" id="noHomeworks" /></td>
<form id="form1" name="form1" method="post" action="">
  <table width="596" border="1" id="tblgrades">
      <td width="201">Name</td>
      <td width="107">Enrolment Number</td>
      <td width="131">Homeworks Submited</td>
      <td width="129">Grade</td>
While ((Repeat1__numRows <> 0) AND (NOT rs_homework.EOF)) 
        <td><%=(rs_homework.Fields.Item("Name").Value)%> </td>
        <td><%=(rs_homework.Fields.Item("enrolno").Value)%> </td>
        <td><input type="text" name="submitted" id="submitted" /></td>
        <td><input type="text" name="hwkGrade" id="hwkGrade" /></td><tr></tr>
<td height="110"></tr>
<form id="form3" name="form3" method="post" action="">
  <input name="Calculate" type="submit" id="Calculate" onclick="MM_callJS('calcGrade()')" value="Submit" />
<form id="form4" name="form4" method="post" action="">
<p>Page title goes here</p>
<p>Page title goes here</p>
Set rs_homework = Nothing

You have unescaped < and > characters in your js code. The web browser is confused by these. Make your js an external .js file, and it might fix this.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.