从函数中提取javascript变量

时间:2015-02-07 21:46:10

标签: javascript arrays function

这是我的第一篇文章。希望我已经正确地遵守了所有规则。 我是一个JS初学者,我一直在关注thenewboston.com和w3schools以及Youtube上的其他一些教程,但找不到我的问题的答案。 我有一个使用JS动态添加输入行的表单,并且工作正常。然而,最后一部分我无法开始工作。它应该用于整理用户输入的所有数据。 这就是我到目前为止所做的:

//get all the row data
function getData(TechRiskTable){

    try {
       var table = document.getElementById(TechRiskTable);
       var rowCount = table.rows.length;
       var jsonArray = new Array();
       for(var index=0; index < rowCount; index++) {
          var mapObj = {};
          var row = table.rows[index];
          var name1 = row.cells[0].childNodes[0];
          var name2 = row.cells[1].childNodes[0];
          var name3 = row.cells[2].childNodes[0];
          var name4 = row.cells[3].childNodes[0];
          var name5 = row.cells[4].childNodes[0];

          mapObj['name1'] = name1.value;
          mapObj['name2'] = name2.value;
          mapObj['name3'] = name3.value;
          mapObj['name4'] = name4.value;
          mapObj['name5'] = name5.value;

         // document.write("Value in jsonArray " + name1.value + "<br />");
      }
    }catch(e) {
       alert(e);
    }
}

好的,所以我在经典的ASP页面上运行它,“onclick”就是这样:

response.write input type=submit onclick='getData(TechRiskTable);' value='Send to Reviewer'><input type=reset value='Start Again'>

我的问题是:如何将用户输入的值提取到表“TechRiskTable”中添加的行中,以便我可以将它们插入到数据库中。我不需要帮助它进入dbase,我可以自己做。我只是在提取实际值时遇到问题。当我取消注释时,“document.write”位确实在页面上显示正确的值,但这仍然在函数内。我找不到从OUTSIDE函数访问输入数据的方法。我尝试过使用request.querystring,但也没有返回任何数据。

我认为我需要将它们从jsonArray()中取出,但我找不到任何可以让它工作的地方。

如有任何澄清,请告诉我。我没有包含所有代码,因为这篇文章太长了,但如果你需要更多,请问。

干杯

1 个答案:

答案 0 :(得分:0)

  function getData(TechRiskTable){

    try {
       var table = document.getElementById(TechRiskTable);
       var rowCount = table.rows.length;
       var jsonArray = new Array();
       for(var index=0; index < rowCount; index++) {
          var mapObj = {};
          var row = table.rows[index];
          var name1 = row.cells[0].childNodes[0];
          var name2 = row.cells[1].childNodes[0];
          var name3 = row.cells[2].childNodes[0];
          var name4 = row.cells[3].childNodes[0];
          var name5 = row.cells[4].childNodes[0];

          mapObj['name1'] = name1.value;
          mapObj['name2'] = name2.value;
          mapObj['name3'] = name3.value;
          mapObj['name4'] = name4.value;
          mapObj['name5'] = name5.value;

         // document.write("Value in jsonArray " + name1.value + "<br />");
         return mapObj;
      }
    }catch(e) {
       alert(e);
    }
    return null;

我假设你从其他地方调用这个方法,

var mapObj = getData(TechRiskTable);
if(mapObj!=null)
{
  alert("name1 is "+mapObj.name1+" and name2 is "+mapObj.name2);
}