【问题标题】:Call one function from another function in javascript从javascript中的另一个函数调用一个函数
【发布时间】:2009-06-25 16:52:29
【问题描述】:

我仍然是网络技术的新手,我有几个问题符合以下代码。

我正在尝试从另一个 javascript 函数 displayTable() 调用函数 getDetails()。 displayTable() 在单击“我的 CD 事实”按钮时被调用。

嗯,它不适合我。我想它有些愚蠢,但我无法弄清楚。我试图用 firebug 诊断它,它说 getDetails() 没有定义。

另外,我有一个基本的 css 文件,用于以特定样式显示表格。那也不行。是不是因为我把它连接在身体里,而我在头上使用它?

<script type="text/javascript">
var xmlDoc;

function displayTable()
{
var artistName;
if (window.XMLHttpRequest)
  {
  xmlDoc=new window.XMLHttpRequest();
  xmlDoc.open("GET","Artists.xml",false);
  xmlDoc.send("");
  xmlDoc=xmlDoc.responseXML;
  }
else if (ActiveXObject("Microsoft.XMLDOM"))
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.load("Artists.xml");
  }

document.write("<table class=\"artistTable\" border='1'>");
document.write("<th>Artist</th> <th>Title</th>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
  {
  artistName = x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue;
  document.write("<tr><td><a href=\"javascript:getDetails(artistName );\">");
  document.write(artistName);
  document.write("</a></td></tr>");
  }
document.write("</table>");
}

function getDetails(artistName )
{
    alert(artistName);
}

</script>
</head>
<body>
<link rel="stylesheet" type="text/css" href="style.css">
<form>
<input type="button" value="My CD Facts" onclick="displayTable()"/>
</form>
</body>
</html>

干杯

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    getDetails() 不是 Javascript 内置函数。它是一个用户定义的函数。 Head First Ajax 一书的作者在第 24 页定义了他们的 getDetails() 版本。

    【讨论】:

      【解决方案2】:
      document.write("<tr><td><a href=\"javascript:getDetails(" + artistName + ");\">");
      

      【讨论】:

        【解决方案3】:

        几个小错误。

        1. document.write 清除了页面的其余部分,因此您插入的脚本已经消失。 您可以尝试使用 document.getElementById("id").InnerHtml 而不是使用 document.write 到 div / span。 (我不是 js 专家 - 所以你可能想用谷歌搜索一下。),而不是 document.writing。
        2. rony 所说的,但用了几个单引号。

          document.write("

          ");

          【讨论】:

          猜你喜欢
          • 2015-08-31
          • 1970-01-01
          • 2021-12-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-24
          • 1970-01-01
          • 2012-09-19
          相关资源
          最近更新 更多