Javascript 在经典asp中动态添加行,并将新行连接到数据库

Javascript 在经典asp中动态添加行,并将新行连接到数据库,javascript,asp-classic,oracle11g,Javascript,Asp Classic,Oracle11g,我只是asp的初学者,我有一个问题。我有一个动态添加行的常用函数,代码如下 function Myfunction(tableid) { var table=document.getElementById("tablerow"); var rowCount = table.rows.length; var row = table.insertRow(rowCount); var cell1 = row.insertCell(0);

我只是asp的初学者,我有一个问题。我有一个动态添加行的常用函数,代码如下

function Myfunction(tableid) 
{

var table=document.getElementById("tablerow");        

var rowCount = table.rows.length;        

var row = table.insertRow(rowCount);        


var cell1 = row.insertCell(0); 

cell1.innerHTML = rowCount + 1;


var cell2 = row.insertCell(1);

var element2 = document.createElement("input");

cell2.appendChild(element2);


var cell3 = row.insertCell(2);

var element3 = document.createElement("input");

cell3.appendChild(element3);


var cell4 = row.insertCell(3);

var element4 = document.createElement("input");

cell4.appendChild(element4);

}
html的AddPage代码如下:

"table id="tablerow"

tr align="center"

input type="textbox" name="subjectid"

input type="textbox" name="subjectname"

input type="Checkbox" name="status"  value="Y"

input type="Checkbox" name="status"  value="N"

input type="textbox" name="internal"

input type="textbox" name="external"

tr
sql1="INSERT INTO SUBJECT_MASTER (SUBJECT_ID,SUBJECT_NAME,ACTIVE_STATUS,INTERNAL,EXTERNAL) VALUES ("&subjectid & ",'" &subjectname &"','"&activestatus &"','"&internal &"','"&external &"')"
和插入查询,如下所示:

"table id="tablerow"

tr align="center"

input type="textbox" name="subjectid"

input type="textbox" name="subjectname"

input type="Checkbox" name="status"  value="Y"

input type="Checkbox" name="status"  value="N"

input type="textbox" name="internal"

input type="textbox" name="external"

tr
sql1="INSERT INTO SUBJECT_MASTER (SUBJECT_ID,SUBJECT_NAME,ACTIVE_STATUS,INTERNAL,EXTERNAL) VALUES ("&subjectid & ",'" &subjectname &"','"&activestatus &"','"&internal &"','"&external &"')"

现在,如果我添加一行并使用新添加的行插入数据,那么它不是在插入数据。因此,请您帮助我。同时请清除复选框问题。

经典ASP读取基于元素名的表单数据-每个元素根据其名称发送其值。如果没有名称,该值将根本不会发送到服务器

因此,要让新添加的元素发送它们的值,只需给它们一个名称。假设您希望使用与现有文本框相同的名称:

var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.name = "subjectid"
cell2.appendChild(element2);

var cell3 = row.insertCell(2);
var element3 = document.createElement("input");
element3.name = "subjectname"
cell3.appendChild(element3);
这样,值将作为逗号分隔的字符串发送


重要信息:您当前的代码对SQL注入攻击非常开放。如果您不希望数据库被黑客入侵、复制和/或删除,最好了解SQL注入(只需谷歌搜索),并修复代码。

谢谢兄弟。我会看到的。先生,你能告诉我如何添加一行复选框吗?假设你发布的代码是有效的,就在复选框点击事件中执行它。