我有一个数据库驱动的测试,我想修改它,这样用户就不能提交结果,除非他们已经尝试回答了所有问题。我可以简单地在大多数问题中插入"required“,但这不适用于具有多个复选框作为答案的问题。
有人提出了以下解决方案:
$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>';但是,它会在每个复选框中插入"required“,这意味着用户不能提交结果,除非他们选择每个答案。有人知道怎么解决这个问题吗?
另外,注释“最好检查键而不是值”是什么意思?我不明白他说的“钥匙”是什么意思
发布于 2016-03-06 13:00:31
There is no pure HTML way to do what you want.
您可以使用jQuery,如链接答案或PHP验证中所示,但我猜您希望避免回发/页面刷新。
关于键与值:关键可能是问题本身,而值只是可能的答案之一。所以评论的意思可能是“你应该提出要求的问题,而不是答案”,但我只是在猜测。
您可以在数据库中添加一个“必填”字段,并根据该值在前端决定问题是否应该是必填的,特别是当您计划构建非必填问题的时候。
https://stackoverflow.com/questions/35823115
复制相似问题