我想要修改数据库驱动的测试,以便用户无法提交结果,除非他们尝试回答所有问题。我可以简单地插入" 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>';
然而,它插入&#34; required&#34;使用每个复选框,这意味着用户无法提交结果,除非他们选择每个答案。有谁知道如何解决这个问题?
此外,评论&#34;最好检查密钥而不是值#34;意思?我不明白他的意思和关键。&#34;
答案 0 :(得分:1)
There is no pure HTML way to do what you want.
您可以使用链接答案或PHP验证中显示的jQuery,但我想您要避免回发/页面刷新。
关于密钥与值:密钥可能是问题本身,而值只是可能的答案之一。所以评论可能意味着“你应该提出问题,而不是答案”,但我只是在这里猜测。
您可以在数据库中添加“必填”字段,并根据该值决定是否需要提出问题,特别是如果您打算构建非必需的问题。