代码之家  ›  专栏  ›  技术社区  ›  Arnkrishn

在javascript中从另一个函数调用一个函数

  •  1
  • Arnkrishn  · 技术社区  · 15 年前

    我仍然是一个网络技术的新手,我有几个问题与下面的代码。

    我试图从另一个javascript函数displayTable()调用函数getDetails()。 单击“My CD Facts”按钮将调用displayTable()。

    好吧,这对我没用。我想这是件愚蠢的事,但我不明白。我试图用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>
    

    干杯

    3 回复  |  直到 15 年前
        1
  •  2
  •   Robert    12 年前

    getDetails()不是Javascript内置函数。它是一个用户定义的函数。写这本书的人在第24页定义了他们的getDetails()版本。

        2
  •  1
  •   Rony    15 年前
    document.write("<tr><td><a href=\"javascript:getDetails(" + artistName + ");\">");
    
        3
  •  1
  •   tim    15 年前

    几个小错误。

    1. 文档.写入清除页面的其余部分,因此插入的脚本已不存在。
    2. rony说的,但是有几个单引号。

      文档.写入(“<tr><td><a href=\”javascript:获取详细信息('“+artist+”);\“>”);