【发布时间】:2017-03-28 22:51:20
【问题描述】:
我正在修改现有表单。
您可以启动一个包含多个字段的任务块,如果这些都是空的,您可以再次删除该块。其中大多数是必需的,以在数据完整时提交。如果未完成,您可以保存 Work in Process(原文如此!我更喜欢 Work in Progress...)
对于识别空字段的代码,似乎大部分都有value=""。完成后,系统似乎识别出它们不是空的。
但我想使用的复选框会导致问题。
如果我不设置value="",它不会被识别为空,我无法删除块。
如果我设置 value="" ,它无法识别输入的复选标记,我无法提交数据完成。
我认为onClick="...." 并定义一种设置value="true" 的方法将是一种前进的方式,但在搜索时没有找到任何示例,而且作为初学者,我还没有全部学会。
复选框(重新编号至 id 050):
<label for="completed_001">Task Completed<em class="labelrequired">*</em></label>
<input type="checkbox" id="completed_001" name="completed_001" alt="Task Completed 001" title="Task Completed 001" value="" class="validate['required']">
函数:(最后一行与复选框有关)
function isEmptyAction(nr) {
var pad = "000";
var nr = (pad+nr).slice(-pad.length);
return document.getElementById('taskdescription' + nr).value == '' &&
document.getElementById('TaskOwner' + nr).value == '' &&
document.getElementById('taskduedate' + nr + '_date').value == '' &&
document.getElementById('documentid' + nr).value == '' &&
document.getElementById('resultsandcomments' + nr).value == '' &&
document.getElementById('completed_' + nr).value == '';
}
= = = = = 更新 = = = =
1) 感谢用户dmorrow 的编辑改进!
2) 感谢您的提示和建议,我终于成功了!
我从 html 的复选框代码中删除了 value=""。
这允许在需要提交数据完成时识别输入的复选标记。
我在函数中使用document.getElementById('completed_' + nr).checked == false; 来检查所有字段是否为空。
这允许在空时删除任务块。
再次感谢!你让我成为了一个快乐的初学者!
【问题讨论】:
-
我想你想要
checked==true -
它必须为空才能删除已启动但未使用的块。
-
你能用工作的 sn-p 更新代码吗?在编辑器中使用
<>图标 -
还不知道怎么做,刚加入论坛...我勉强得到了复选框代码sn-p。关于这些块有几个函数,initActions(),addAction( )、removeAction() 和 isEmptyAction(nr)。 removeAction 调用 isEmptyAction 以确保移除 Action(任务块)是合法的。
-
我只更改了 isEmptyAction,以检查正确的属性。在任务块中,我将完成检查从“完成日期”更改为仅一个复选框。如果无法将复选框值从“”识别为“真”,也许我必须将其保留为日期。
标签: javascript checkbox onclick