2016-08-30 57 views
2

我有HTML脚本:变量用来引用JavaScript文件

<html lang="en" > 
<head> 
    <meta charset="utf-8"> 
    <!--<script type="text/javascript" src="included_name_table.js"></script> --> 
    <script type="text/javascript" src="apps.js"></script> 
    <script src="name_template.js"></script> 
    <center><h1>JavaScript Variables</h1></center> 
    <script type="text/javascript" src="config.js"></script> 


    <center><p>In this example, x, y, and z are variables</p></center> 
    <center><p id="demo"></p></center> 
    <script type="text/javascript" src="demo"></script> 

<body onload="initialize('name');"> 
    <script type="text/javascript" src="check.js"></script> 
    <p> <center> Check for Table </center> </p> 
    <table height="100px" width="840px" align="center" cellspacing=0 cellpadding=0 border=2>   
     <tr><td colspan="3"><span id="name_table_body"></span></td></tr> 
     <br> 
    </table> 
    <center> <button style="width:180px;margin-top:5px;margin-bottom:20px;" onClick="submitForm();">Submit Results</button> 
</body> 
</html> 

在行:

<script type="text/javascript" src="included_name_table.js"></script> 

我想设置included_name_table.js作为在一个引用的变量配置文件config.js为table_var,如下所示:

var table_var = "included_name_table.js"; 

javascript included_name_table.js contains al l名称表的信息。

我这样做的原因是,如果我调整配置文件,我可以显示另一个表而不是included_name_table.js。我该如何去了解src是否与config.js中定义的变量相同:

<script type="text/javascript" src="included_name_table.js"></script> 

有关其他参考,文件check.js包含以下行:在问候

var z = port_list_var; 
document.getElementById("demo").innerHTML = z; 

apps.js包含以下行name_table_body :

document.getElementById("name_table_body").innerHTML = replace_params(included_name_table_var, new Array ("Names")); 

included_name_table_var被引用在文件included_name_name_table.js中为:

var included_name_table_var="<table border=1 cellspacing=0 cellpadding=0 width=100%><tr>" + 
      "<td width=20% valign='center' align='center' ><#$1$#> :</td>" + 

等。

+0

你可能想使用json数据插件tej of .js文件 – Liquidchrome

+0

如何在我写的内容中使用json数据? – jms1980

+0

带有值的隐藏html输入元素如何? –

回答

1

所以,如果我正在阅读这个权利,你有JavaScript文件写入一个全局变量table_vartable_var的值是一个您想要加载到页面上的JavaScript文件。在这种情况下,您只需在页面加载时动态创建脚本元素。下面的代码可以放在你的HTML文件中,或者作为一个单独的JavaScript文件包含。

(function() { 
    // Create the script element 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    // Assign the value of the source attribute to the globally defined table_var variable 
    script.src = table_var; 
    script.async = true; 
    // Inject the script into the body (ideally this would go into the HEAD element, but the body works for our purposes 
    document.body.appendChild(script); 
})(); 
+0

这工作。我将这个函数添加到了我的html脚本的主体中,并得到了我所需要的。感谢您的帮助。 – jms1980

1

可以使用单独的JSON文件来定义表数据和负荷:

表1的文件:

{table1: { 
     heading: "Table 1", 
     body: "Body 1" 
     } 
} 

表2的文件:

{table2: { 
     heading: "Table 2", 
     body: "Body 2" 
     } 
} 

在我的例子我只是将所有表格数据合并到一个变量中,您可以选择通过它的ID加载哪个表格。 你点击哪个表链接,它会从json载入相应的ID数据。 var表格将会是你链接到的json文件。

HTML:

<a href="#" id="table1">Load Table 1</a> 
<a href="#" id="table2">Load Table 2</a> 
<p/> 
<div id="loadTable"> 
</div> 

JAVASCRIPT(使用jQuery):

var tables={table1: { 
         heading: "Table 1", 
      body: "Body 1" 
         }, 
      table2: { 
      heading: "Table 2", 
      body: "Body 2" 
      } 
} 

$(function(){ 
    $("a").click(function(e){ 
    e.preventDefault(); 
    var i=this.id; 
    var html="<table border=1><th>"+tables[i].heading+"</th><tr><td>"+tables[i].body+"</td></tr></table>"; 
    $("#loadTable").html(html); 
    }); 
}) 

https://jsfiddle.net/byeqv8Ld/

0

我解决了这个问题,用下面的代码:

<html lang="en" > 
<head> 
    <meta charset="utf-8"> 
    <!--<script type="text/javascript" src="included_name_table.js"></script> --> 
    <script type="text/javascript" src="apps.js"></script> 
    <script src="name_template.js"></script> 
    <scr 
    <center><h1>JavaScript Variables</h1></center> 
    <script type="text/javascript" src="vra_config.js"></script> 


    <center><p>In this example, x, y, and z are variables</p></center> 
    <!--<center><p id="demo"></p></center> --> 
    <!--<script type="text/javascript" src="demo"></script> --> 

<body onload="initialize('name');"> 
    <script> 
     var script = document.createElement('script'); 
     script.type = 'text/javascript'; 
     script.src = port_list_var; 
     document.body.appendChild(script); 
    </script> 
    <p id="port_list_var"></p> 
    <!--<script type="text/javascript" src="check.js"></script> --> 
    <p> <center> Check for Table </center> </p> 
    <table height="100px" width="840px" align="center" cellspacing=0 cellpadding=0 border=2>   
     <tr><td colspan="3"><span id="name_table_body"></span></td></tr> 
     <br> 
    </table> 
    <center> <button style="width:180px;margin-top:5px;margin-bottom:20px;" onClick="submitForm();">Submit Results</button> 
</body> 
</html>