Javascript 输入字段不为空时如何启用按钮

Javascript 输入字段不为空时如何启用按钮,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有一个要求,其中有一个表单,如果所有字段都已填写,则只有提交按钮将被启用,否则提交按钮将处于禁用状态 适用于1个输入字段: 我的按钮 ko.applyBindings({my:ko.observable()}); 但是,我不知道如何对多个输入字段(如中)执行此操作。如果有大约10个输入字段,那么如何在且仅当所有字段都已填写时启用submit按钮。您可以使用JQuery通过执行以下操作来解决此问题: HTML标记: <button id="my" type="button" disab

我有一个要求,其中有一个表单,如果所有字段都已填写,则只有提交按钮将被启用,否则提交按钮将处于禁用状态

适用于1个输入字段:

我的按钮
ko.applyBindings({my:ko.observable()});

但是,我不知道如何对多个输入字段(如中)执行此操作。如果有大约10个输入字段,那么如何在且仅当所有字段都已填写时启用submit按钮。

您可以使用JQuery通过执行以下操作来解决此问题:

HTML标记:

<button id="my" type="button" disabled="true">My Button</button>
<input id="hi" type="text" name="hi" />
if (allFields == valid) {
    $('#my').prop('disabled', false);
}
这会让你的生活更轻松。如果没有,请告诉我。

HTML

<button data-bind="enable: isFormValid">My Button</button>
<input type="text" data-bind="value: text1, valueUpdate: 'keyup'" />
<input type="text" data-bind="value: text2, valueUpdate: 'keyup'" />
<input type="text" data-bind="value: text3, valueUpdate: 'keyup'" />
<input type="text" data-bind="value: text4, valueUpdate: 'keyup'" />

见更新。解决viewmodel属性间依赖关系的关键是。

问题是关于Knockout.js他将jquery作为标记之一,所以我的答案是基于此的。@StanCromlish感谢您的回答,但我更喜欢先选择Knockout.js和parsley.js,我不是压制投票的人。因为我自己几乎给出了一个Jquery解决方案。如今,人们在向下投票方面远远不够快@StanCromlish是我的错,不是你的错。那么为什么你应该因为我的错而受到惩罚呢?+1对于你的jquery解决方案tooValidation:@Anders谢谢你的有用链接,但我已经在使用parsley.js作为表单了validation@KyleMit谢谢你让我的帖子看起来更好。好的,我还没用过。然后将按钮连接到其有效状态,因为您已经在使用parsley.js(您应该在原始问题中提到这一点),所以您可能希望查看knockout parsley项目,该项目集成了两个功能:问题中的your fiddle和my fiddle。当你填写一个文本字段时,该值反映在所有字段中。实际上,我正在查看你的答案并理解代码。因此,我很晚才接受你的答案。再次抱歉。最好是+1answer@JqueryLearner我做了。我尝试了两个类似的字段,但当我在我的项目中实现时,它又不是working@JqueryLearner就像我说的。把你的问题剥离到最基本的部分来展示问题,人们可能会想看一看。但最有可能的是,你会一路上把它整理出来,这比让别人用勺子喂你解决方案更有价值。