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

Javascript 仅当选中所有必需的框时,才允许从按钮打印检查表

Javascript 仅当选中所有必需的框时,才允许从按钮打印检查表,javascript,jquery,Javascript,Jquery,我有一份清单供我的客户打印。底部是一个按钮,允许他们打印清单。我如何才能使检查表不打印,除非选中了所有必需的复选框 目前,我有三个文本输入必须填写,并将自动选中第一个必需的框。但是,如何锁定“打印检查表”按钮以检查复选框是否已选中,以便让用户从该按钮打印 我知道这并不能阻止用户进行cntrl ping,但如果有一种方法可以完全阻止他们这样做,我也会对此感兴趣 //为每个文本字段设置模糊事件处理程序 $'.form控件:notBusinessName'.onblur,functionevt{ 让

我有一份清单供我的客户打印。底部是一个按钮,允许他们打印清单。我如何才能使检查表不打印,除非选中了所有必需的复选框

目前,我有三个文本输入必须填写,并将自动选中第一个必需的框。但是,如何锁定“打印检查表”按钮以检查复选框是否已选中,以便让用户从该按钮打印

我知道这并不能阻止用户进行cntrl ping,但如果有一种方法可以完全阻止他们这样做,我也会对此感兴趣

//为每个文本字段设置模糊事件处理程序 $'.form控件:notBusinessName'.onblur,functionevt{ 让count=0;//记录填写的数量 //在所有文本字段上循环 $'.form控件:notBusinessName'.eachfunctionidx,el{ //如果字段不是空的。。。。 如果el.value!=={ count++;//增加计数 } }; console.logcount; //测试以查看是否所有3个都已填写 如果计数===3{ $contactinformation.propchecked,true;//选中该框 }否则{ $contactinformation.propchecked,false;//取消选中该框 } }; 联系人姓名: 企业名称: 电邮地址: 电话号码及办公时间: 清单 勾选适用的方框,打印并与文件一起发送

联系方式 *必需的 费用预算- 支票或汇票 业权证明书申请书— *必需的 身份证件 *必需的 授权书文件— 所有权证明文件 VIN验证- *必需的 逐项列出的经销商发票、采购订单或销售清单- 租赁协议 *必需的 佛罗里达州保险卡、保单、活页夹或佛罗里达州保险宣誓书- *必需的 现有登记证明或要转让的牌照 海牛县居住证明文件 *对于上文未列出且可能适用的所有其他表格的列表— 打印检查表 完成了
首先,为了便于识别,我们将“required”类添加到所需的复选框中

其次,在每个必需的复选框中,我们添加一个事件侦听器。触发后,我们将检查并更新按钮的disabled属性。注意,最好使用输入事件而不是模糊事件

我使用了js标准方法,因为我不熟悉jquery,但它们似乎大多是一对一的翻译

//为每个文本字段设置模糊事件处理程序 $'.form控件:notBusinessName'.onblur,functionevt{ 让count=0;//记录填写的数量 //在所有文本字段上循环 $'.form控件:notBusinessName'.eachfunctionidx,el{ //如果字段不是空的。。。。 如果el.value!=={ count++;//增加计数 } }; console.logcount; //测试以查看是否所有3个都已填写 如果计数===3{ $contactinformation.propchecked,true;//选中该框 }否则{ $contactinformation.propchecked,false;//取消选中该框 } 复选框; }; let checkbox=[…document.queryselectoral'input[type=checkbox].必需']; 让复选框==>document.querySelector'printpage'。禁用=复选框。somecheck=>!检查,检查; checkbox.forEachcheck=>check.addEventListener'input',复选框; 复选框; 联系人姓名: 企业名称: 电邮地址: 电话号码及办公时间: 清单 勾选适用的方框,打印并与文件一起发送

联系方式 *必需的 费用预算- 支票或汇票 业权证明书申请书— *必需的 身份证件 *必需的 授权书文件— 所有权证明文件 VIN验证- *必需的 逐项列出的经销商发票、采购订单或销售清单- 租赁协议 *必需的 佛罗里达州保险卡、保单、活页夹或佛罗里达州保险宣誓书- *必需的 进出口证明 登记或车牌转让 海牛县居住证明文件 *对于上文未列出且可能适用的所有其他表格的列表— 打印检查表 完成了
在您的示例中,“打印”按钮从不允许您打印。请澄清,它似乎对我有效。选中5个必需的复选框和3个必需的联系人字段可启用该按钮。点击按钮,然后打开打印对话框。它没有为我启用按钮吗?我使用谷歌浏览器,当我用你的代码片段勾选框时,按钮永远不会启用。嗯,它有斑点。它只在我直接下线时对我起作用,但随后在文本框中展开,取消勾选第一个框并没有将其停用再一次