使用javascript选择本地javascript文件

使用javascript选择本地javascript文件,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有两个独立的.js文件,根据用户在select标记中对表单的选择,我希望在html页面上使用特定于用户请求的.js文件 这是我的代码: <script type="text/javascript"> $(document).ready(function(){ if (document.getElementById('analyses').value == 'distance'){ <script src="/static/analysis.js"><

我有两个独立的.js文件,根据用户在select标记中对表单的选择,我希望在html页面上使用特定于用户请求的.js文件

这是我的代码:

<script type="text/javascript"> 
 $(document).ready(function(){
    if (document.getElementById('analyses').value == 'distance'){

 <script src="/static/analysis.js"></script>

    }else{
 <script src="/static/another.js"></script>
    }
   });
</script>

$(文档).ready(函数(){
if(document.getElementById('analysiss')。value=='distance'){
}否则{
}
});
html表单:

<form id="eventForm">            
     <select name="event" id="abc">
        <option value="" disabled="disabled" selected="selected">Select Event</option>
        <option value="US">US</option>
        <option value="UK">UK</option>
        <option value="Fr">France</option> 
     </select>             

     <select name="analysis" id="analyses">
        <option value="" disabled="disabled" selected="selected">Select Analysis</option>
        <option value="distance">distance</option>
        <option value="other">other</option>
     </select>

    <input type="submit" id="open" onclick="heading()" value="Start Analysis"/>

选择事件
美国
英国
法国
选择分析
距离
其他
目前,它只运行/static/analysis.js文件,而不考虑用户选择

谢谢

编辑:

<script>

function loadScript(path) {
    var head=document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', path);
    head.appendChild(script);
}


$(document).ready(function(){
if (document.getElementById('analyses').value == 'distance'){

loadScript("/static/analysis.js");

}else{
loadScript("/static/analysisfdfdf.js");
}
});
</script>

函数加载脚本(路径){
var head=document.getElementsByTagName('head')[0];
var script=document.createElement('script');
setAttribute('type','text/javascript');
script.setAttribute('src',path);
head.appendChild(脚本);
}
$(文档).ready(函数(){
if(document.getElementById('analysiss')。value=='distance'){
loadScript(“/static/analysis.js”);
}否则{
loadScript(“/static/analysisfdf.js”);
}
});

您可以使用jQuerysgetScript()


因此,当用户做出选择时,您只需加载相关的js文件即可

,您可以使用此功能动态加载其他js文件

function loadScript(path) {
    var head=document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', path);
    head.appendChild(script);
}
用法:

loadScript("/static/analysis.js");

请记住,脚本将异步加载,因此不能假定脚本加载在该行之后。您需要加载的脚本来执行
回调
作为就绪通知

是否只需加载其中一个脚本?您可以创建两个JavaScript函数,每个函数包含来自相关脚本的代码,并执行与用户选择相对应的任何一个函数

没有理由不能在两个单独的.js文件中定义它们,只要在html中同时包含这两个文件


这似乎是执行特定代码的一种更简单的方法,而不必担心动态加载代码。

您不能只放置
else{}
您需要使用
else{document.write(“”);}
如果您在文档准备好后立即运行代码,用户如何进行选择?谢谢,我按照您的建议进行了尝试,并使用该函数更新了原始问题,但现在给ne带来了405错误。如果您将该url直接加载到浏览器中,您是否会遇到相同的错误?因此,您的意思是,对于每个单独的脚本,只需将其包装成一个大函数,但从一个文件中同时从这两个脚本加载?