Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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_Forms - Fatal编程技术网

Javascript 有没有一种方法可以将输入连接在一起?

Javascript 有没有一种方法可以将输入连接在一起?,javascript,html,forms,Javascript,Html,Forms,我有3个input字段要相互连接/链接。我希望它们的总价值限制在100%。因此,如果一个输入值为40%,那么其他两个输入值的剩余值为60% 我试图在谷歌上找到我的答案,但我认为我的搜索标准是错误的。有人知道怎么做吗,或者有人指导怎么做 Koolhydraten % 艾维滕 % 维滕 % 您可以从js中的所有这些输入中收听更改或输入事件,然后从所有这些输入中获取值,计算它们的长度,如果它们的长度之和>一些最大值则阻止它们。如果我理解正确,您希望有3个输入,其值之和不超过100,对吗? 如果是,那

我有3个
input
字段要相互连接/链接。我希望它们的总价值限制在100%。因此,如果一个输入值为40%,那么其他两个
输入值
的剩余值为60%

我试图在谷歌上找到我的答案,但我认为我的搜索标准是错误的。有人知道怎么做吗,或者有人指导怎么做


Koolhydraten
%
艾维滕
%
维滕
%


您可以从js中的所有这些输入中收听
更改
输入
事件,然后从所有这些输入中获取值,计算它们的长度,如果
它们的长度之和>一些最大值
则阻止它们。

如果我理解正确,您希望有3个输入,其值之和不超过100,对吗?
如果是,那么我下面的代码可以帮助您。在那里,您将获得一个数组中的所有输入,然后为每个输入的更改添加一个侦听器。此侦听器将获取正在更改的
输入的值,并检查其值与其他值的总和是否不超过100

检查代码,如果您不理解某些内容,请在注释中说明。 另外,如果我理解错了,请警告我

让总数=0;
const ipts=Array.from(document.getElementsByTagName('input');
const totalElem=document.getElementById(“总计”)
对于(变量i=0;iparseFloat(元素值)+计数器,0);
总数-=价值;
如果(值>100){
该值=100;
}
如果(值+总数>100){
该值=100-总计;
}  
totalElem.innerText=total+parseFloat(此.value);
}

Koolhydraten
%
艾维滕
%
维滕
%


100%中有0%
您想在客户端还是服务器端执行此操作?这是什么样的后端?Java servlet还是Java服务器页面?您的Java代码在哪里?我想用javascript来做,我认为这是客户端,如果我错了,请纠正我。@JasonHayes123是的。你把Java和JavaScript搞混了。/@PraveenKumarPurushothaman我现在正在使用JSP。是的,Java标记出了问题,它不应该在这里。对你正确地理解了我,我想给你一个巨大的感谢!!我现在正试图将您的代码实现到我的javascript文件中。我会让你知道,当它工作或当我不能让它工作。再次感谢!好的,很高兴知道。如果有效,您可以投票和/或将我的答案标记为已接受。(我还对上面的代码进行了调整)我遇到了以下问题,我还不够清楚。我想把这段代码添加到我的表单中,但是表单使用的输入比这3个多。因此,我认为当我使用{const ipts=Array.from(document.getElementsByTagName('input'));}时,它将选择表单中的所有输入。是的,它将选择文档的所有
input
s,如果您只需要一些特定的,那么将一个公共类添加到您想要选择的类中并使用
document.getElementsByClassName('commonClass')