Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法仅从一个函数获取结果_Javascript_Html - Fatal编程技术网

Javascript 无法仅从一个函数获取结果

Javascript 无法仅从一个函数获取结果,javascript,html,Javascript,Html,在我的Web应用程序中,如果用户希望只运行一个选项而不是两个选项,我将尝试仅从一个函数获取答案。这意味着每一个函数的代码都会立即运行。在这两个函数的末尾,我已经实现了这段代码,因此即使用户只选择一个要执行的函数,它仍然会运行,但这不会发生。“document.getElementById(“ansCAL”).innerHTML=“总额”+(总额+总额1) 函数填充(选择1,选择2) { var Brand1=document.getElementById(选择1); var Brand2=do

在我的Web应用程序中,如果用户希望只运行一个选项而不是两个选项,我将尝试仅从一个函数获取答案。这意味着每一个函数的代码都会立即运行。在这两个函数的末尾,我已经实现了这段代码,因此即使用户只选择一个要执行的函数,它仍然会运行,但这不会发生。“document.getElementById(“ansCAL”).innerHTML=“
总额”+(总额+总额1)


函数填充(选择1,选择2)
{
var Brand1=document.getElementById(选择1);
var Brand2=document.getElementById(选择2);
Brand2.innerHTML=“”;
如果(品牌1.value==“雪佛兰”)
{
var optionArray=[“|”、“1000 | Camaro”、“2000 | Corvette”、“3000 | Impala”];//表示空白,Camaro是标签,Camaro是值,例如值1000,Corvette是标签
}
else if(Brand1.value==“道奇”)
{
var optionArray=[“|”、“4000 | Avanger”、“5000 | Challengere”、“6000 | Charger”];
}
否则如果(Brand1.value==“Ford”)
{
var optionArray=[“|”、“7000辆野马”、“8000辆谢尔比”、“聚焦”];
}
for(optionArray中的var选项)//optionArray中的选项
{
var pair=optionArray[option].split(“|”);//在变量对中存储值和标签
var newOption=document.createElement(“option”);//括号中的选项用于创建新选项,也可以插入divs段落等
newOption.value=对[0];//对0给出值
newOption.innerHTML=对[1];//对1给出标签
Brand2.options.add(newOption);
}
}
//第二功能
函数计算(){
var Brand1=0;
var Brand2=0;
Brand1=document.getElementById('slct1')。值;
Brand2=document.getElementById('slct2')。值;
multi=document.getElementById('amount')。值;
总计=parseInt(品牌2)*多个;
document.getElementById('answer')。value=total;
document.getElementById(“ansCAL”).innerHTML=“
总额”+(总额+总额1); } //第二个主要功能 功能填充1(选择1A,选择2A) { var Brand1a=document.getElementById(选择1a); var Brand2a=document.getElementById(选择2a); Brand2a.innerHTML=“”; 如果(Brand1a.value==“雪佛兰”) { var optionArray=[“|”、“1000 | Camaro”、“2000 | Corvette”、“3000 | Impala”];//表示空白,Camaro是标签,Camaro是值,例如值1000,Corvette是标签 } 否则如果(Brand1a.value==“道奇”) { var optionArray=[“|”、“4000 | Avanger”、“5000 | Challengere”、“6000 | Charger”]; } 否则如果(Brand1a.value==“福特”) { var optionArray=[“|”、“7000辆野马”、“8000辆谢尔比”、“聚焦”]; } for(optionArray中的var选项)//optionArray中的选项 { var pair=optionArray[option].split(“|”);//在变量对中存储值和标签 var newOption=document.createElement(“option”);//括号中的选项用于创建新选项,也可以插入divs段落等 newOption.value=对[0];//对0给出值 newOption.innerHTML=对[1];//对1给出标签 Brand2a.options.add(新选项); } } //第二功能 函数calculate1(){ var Brand1a=0; var Brand2a=0; Brand1a=document.getElementById('slct1a')。值; Brand2a=document.getElementById('slct2a')。值; multi=document.getElementById('amount1').value;/*以相应地更改amount1*/ total1=parseInt(((Brand2a)*multi)/100); document.getElementById('answer1')。value=total1;/*以相应地更改amount1*/ document.getElementById(“ansCAL”).innerHTML=“
总额”+(总额+总额1); } 选择您的汽车: 雪佛兰 闪避 河流浅水处 选择车辆类型: 金额(克) 全部的




选择您的汽车: 雪佛兰 闪避 河流浅水处 选择车辆类型: 金额(克) 全部的



我提出了一个简单的构造,以便您可以猜测函数调用的位置(第一个学习步骤;):

函数填充(rawNumber)
{
var sa1;
var sa2;
如果(原始编号===1){
sa1=document.getElementById('slct1');
sa2=document.getElementById('slct2');
}else如果(rawNumber==2){
sa1=document.getElementById('slct1a');
sa2=document.getElementById('slct2a');
}
...
}
只需调用
populate(1)
populate(2)
即可调用该代码

activate
也做同样的操作,但我猜您还没有完成对该部分的编码

更好的方法(第二个学习步骤;):

函数填充()
{
var sa1;
var sa2;
var source=event.target | | event.src元素;
如果(source.id=='slct1'){
sa1=document.getElementById('slct1');
sa2=document.getElementById('slct2');
}else if(source.id=='slct1a'){
sa1=document.getElementById('slct1a');
sa2=document.getElementById('slct2a');
}
}
只要用
populate()
调用它,您的代码就会知道它来自何处

顺便说一句,对变量名使用更好的命名策略;例如,对第一个变量名使用lie
brand1
type1
amount1
,对其他变量名使用
total1
。不要使用
s
,因为我们不知道它的意思,
slct
太模糊了

    function result() {
   document.getElementById('ansCAL').value = calculate() + calculate1();
}
这将添加上述两个函数。

函数填充(s1,s2){var s1=document.getElementById(s1);var s2=document.getElementById(s2);
您认为给局部变量起的名字与p相同吗