“必需”脚本与“每个”复选框一起显示


"Required" script displays with EVERY checkbox

我有一个数据库驱动的测试,我想修改它,以便用户无法提交结果,除非他们尝试回答所有问题。我可以简单地在大多数问题中插入"必需",但这不适用于具有多个复选框作为答案的问题。

有人建议进行以下修复:

$required = ($Value == 0) ? "required" : ""; //condition to check if the value is first. since it is database driven it would be better to check the key instead of the value.;
$QA = '<label for="q'.$QID.'-'.$Value.'"><input type="checkbox" name="q'.$QID.'" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" '. $required .'> '.$QA.'</label>';

但是,它会在每个复选框中插入"必需",这意味着用户无法提交结果,除非他们选择每个答案。有谁知道如何解决这个问题?

另外,注释"最好检查键而不是值"是什么意思?我不明白他所说的"钥匙"是什么意思。

没有纯粹的HTML方法来做你想做的事情。

您可以使用链接答案或PHP验证中显示的jQuery,但我想您想避免回发/页面刷新。

关于键与值:键可能是问题本身,而值只是可能的答案之一。所以评论可能意味着"你应该提出问题,而不是答案",但我只是在这里猜测。

您可以向数据库添加一个"必填"字段,并根据该值在前端确定该问题是否为必填字段,特别是如果您计划也构建非必填问题。