Javascript Can';不要多次调用输出id
我正在尝试构建一个简单的“计算器”,它向我输出一个与XML兼容的表,我可以复制并粘贴到其他地方 我对JavaScript一无所知,到目前为止,我复制并粘贴了一些东西,并根据自己的需要进行修改;我知道非常非常基本的HTML,但我似乎找不到问题所在 在这种形式中,我有两个输入,它们用于相当多的变量,但是我需要多次使用结果。但是,当我第二次尝试获得相同的输出时,却没有结果。如果我删除第一个结果,它将在第二个位置工作。这是有意的吗?我怎样才能第二次得到同样的结果 这是我的代码,它仍然非常初级,因为我正处于构建基础的阶段Javascript Can';不要多次调用输出id,javascript,html,Javascript,Html,我正在尝试构建一个简单的“计算器”,它向我输出一个与XML兼容的表,我可以复制并粘贴到其他地方 我对JavaScript一无所知,到目前为止,我复制并粘贴了一些东西,并根据自己的需要进行修改;我知道非常非常基本的HTML,但我似乎找不到问题所在 在这种形式中,我有两个输入,它们用于相当多的变量,但是我需要多次使用结果。但是,当我第二次尝试获得相同的输出时,却没有结果。如果我删除第一个结果,它将在第二个位置工作。这是有意的吗?我怎样才能第二次得到同样的结果 这是我的代码,它仍然非常初级,因为我正处
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<style>
#editor { white-space:pre; }
</style>
</head>
<body>
<script>
document.addEventListener('DOMContentLoaded', function () {
function rechne() {
var nenndurchmesser = document.getElementById('nenndurchmesser'),
steigung = document.getElementById('steigung');
var majordiaEXT = nenndurchmesser.valueAsNumber - 0.092;
var pitchdiaEXT = nenndurchmesser.valueAsNumber - 0.568;
var minordiaEXT = nenndurchmesser.valueAsNumber - 1.0155;
var majordiaINT = nenndurchmesser.valueAsNumber + 0.214;
var pitchdiaINT = nenndurchmesser.valueAsNumber - 0.407;
var minordiaINT = nenndurchmesser.valueAsNumber - 0.717;
var tapdrill = nenndurchmesser.valueAsNumber - steigung.valueAsNumber;
document.getElementById('nenndurchmesser_res')
.value = nenndurchmesser.valueAsNumber;
document.getElementById('steigung_res')
.value = steigung.valueAsNumber;
document.getElementById('majordiaEXT_res')
.value = majordiaEXT;
document.getElementById('pitchdiaEXT_res')
.value = pitchdiaEXT;
document.getElementById('minordiaEXT_res')
.value = minordiaEXT;
document.getElementById('majordiaINT_res')
.value = majordiaINT;
document.getElementById('pitchdiaINT_res')
.value = pitchdiaINT;
document.getElementById('minordiaINT_res')
.value = minordiaINT;
document.getElementById('tapdrill_res')
.value = tapdrill;
}
document.getElementById("Gewindeangaben")
.addEventListener("input", rechne);
});
</script>
<form id="Gewindeangaben">
<legend>metrisches Gewinde</legend>
<label for="nenndurchmesser">M</label>
<input type="number" min="25" max ="122" placeholder="Nenndurchmesser" id="nenndurchmesser" value="0" step="1">
<label for="steigung">x</label>
<input type="number" min="0.75" max ="1.00" placeholder="Steigung" id="steigung" value="0.75" step="0.25">
<br></form><br>
Gewinde M<output id="nenndurchmesser_res"></output>x<output id="steigung_res"></output><br>
<br>
<!-- this List works -->
externe Gewinde<br>
MajorDia: <output id="majordiaEXT_res"></output><br>
PitchDia: <output id="pitchdiaEXT_res"></output><br>
MinorDia: <output id="minordiaEXT_res"></output><br>
<br>
interne Gewinde<br>
MajorDia: <output id="majordiaINT_res"></output><br>
PitchDia: <output id="pitchdiaINT_res"></output><br>
MinorDia: <output id="minordiaINT_res"></output><br>
Tapdrill: <output id="tapdrill_res"></output><br>
<!-- the same output variables don't work a 2nd time -->
<p id="editor">
<code>
<ThreadSize>
<Size><output id="nenndurchmesser_res">0</output>.0</Size>
<Designation>
<ThreadDesignation>M<output id="nenndurchmesser_res">0</output>x<output id="steigung_res">0</output></ThreadDesignation>
<CTD>M<output id="nenndurchmesser_res">0</output>x<output id="steigung_res">0</output></CTD>
<Pitch><output id="steigung_res">0</output></Pitch>
<Thread>
<Gender>external</Gender>
<Class>6g</Class>
<MajorDia><output id="majordiaEXT_res">0</output></MajorDia>
<PitchDia><output id="pitchdiaEXT_res">0</output></PitchDia>
<MinorDia><output id="minordiaEXT_res">0</output></MinorDia>
</Thread>
<Thread>
<Gender>internal</Gender>
<Class>6H</Class>
<MajorDia><output id="majordiaINT_res">0</output></MajorDia>
<PitchDia><output id="pitchdiaINT_res">0</output></PitchDia>
<MinorDia><output id="minordiaINT_res">0</output></MinorDia>
<TapDrill><output id="tapdrill_res">0</output></TapDrill>
</Thread>
</Designation>
</ThreadSize>
</code>
</p>
</body>
</html>
标题
#编辑器{空白:pre;}
document.addEventListener('DOMContentLoaded',函数(){
函数rechne(){
var nendurchmesser=document.getElementById('nendurchmesser'),
steigung=document.getElementById('steigung');
var majordiaEXT=NENDURCHMESSER.VALUEASNAMER-0.092;
var pitchdiaEXT=NendurchMesser.valueAsNumber-0.568;
var minordiaEXT=NENDURCHMESSER.VALUEASNAMER-1.0155;
var MajorDaint=NendurchMesser.valueAsNumber+0.214;
var pitchdiaINT=NendurchMesser.valueAsNumber-0.407;
var minordiaINT=NENDURCHMESSER.VALUEASNAMER-0.717;
var tapdrill=nendurchMesser.valueAsNumber-steigung.valueAsNumber;
document.getElementById('nendurchMesser_res')
.value=nendurchmesser.valueAsNumber;
document.getElementById('steigung_res')
.value=steigung.valueAsNumber;
document.getElementById('majordiaEXT_res')
.value=majordiaEXT;
document.getElementById('pitchdiaEXT_res')
.value=pitchdiaEXT;
document.getElementById('minordiaEXT_res')
.value=minordiaEXT;
document.getElementById('majorDaint_res')
.价值=主要价值;
document.getElementById('pitchdiaINT_res')
.值=pitchdiaINT;
document.getElementById('minordiaINT_res')
.值=最小值;
document.getElementById('tapdrill\u res')
.value=tapdrill;
}
document.getElementById(“Gewindeangaben”)
.addEventListener(“输入”,rechne);
});
格温德酒店
M
x
Gewinde Mx
格温德外景酒店
马约迪亚:
沥青直径:
米诺迪亚:
interne Gewinde
马约迪亚:
沥青直径:
米诺迪亚:
Tapdrill:
线径
尺寸0.0/尺寸
任命
螺纹名称0x0/螺纹名称
CTDM0x0/CTD
俯仰0/俯仰
线
性别外部/性别
类别6G/类别
MajorDia0/MajorDia
沥青直径0/沥青直径
米诺迪亚0/米诺迪亚
/线
线
性别内部/性别
类别6H/类别
MajorDia0/MajorDia
沥青直径0/沥青直径
米诺迪亚0/米诺迪亚
TapDrill0/TapDrill
/线
/名称
/线径
这样:
const
Gform=document.forms['Gewindeangaben']
,cEdit=document.getElementById('c_edit')
,infos=
{majordiaEXT:{nam1:'nendurchmesser',val:0,add:-0.092}
,pitchdiaEXT:{nam1:'NendurchMesser',val:0,add:-0.568}
,minordiaEXT:{nam1:'nendurchmesser',val:0,添加:-1.0155}
,majordaint:{nam1:'nendurchmesser',val:0,add:+0.214}
,pitchdiaINT:{nam1:'NendurchMesser',val:0,add:-0.407}
,minordiaINT:{nam1:'nendurchmesser',val:0,add:-0.717}
,tapdrill:{nam1:'NendurchMesser',nam2:'steigung',nam2_op:'-',val:0}
}
,cEdit_Show=()=>
{
cEdit.textContent=
`
0
M0x0
M0x0
0
外部的
6g
${infos.majordiaEXT.val}
${infos.pitchdiaEXT.val}
${infos.minordiaEXT.val}
内部的
6H
${infos.majordaint.val}
${infos.pitchdiaINT.val}
${infos.minordaint.val}
${infos.tapdrill.val}
`
}
()
Gform.onsubmit=e=>e.preventDefault()
Gform.oninput=()=>
{
Object.keys(infos.forEach(key=>
{
让ik=infos[key]
如果(!ik.nam2)ik.val=Gform[ik.nam1].valueAsNumber+ik.add
else ik.val=Gform[ik.nam1].valueAsNumber-Gform[ik.nam2].valueAsNumber
})
()
}
表单{
字体系列:“Segoe UI”,塔荷马,日内瓦,Verdana,无衬线;
字体大小:14px;
}
表单字段集{
边缘顶部:1米;
宽度:32em;
}
表格图例{
字体风格:斜体;
填充:0.1em;
}
表单标签{
显示:块;
浮动:左;
边缘:.3em.4em;
}
表单标签span{
字体大小:.9em;
右侧填充:.2em;
}
表单标签输入{
显示:块;
清除:左;
}
前{
宽度:39em;
填充:.3em;
边框:1px纯灰;
颜色:深蓝色;
}
格温德酒店
内恩杜尔梅瑟
施泰贡