所需的响应不显示input = radio的消息

时间:2016-03-06 07:33:19

标签: php jquery

我正在进行数据库驱动的测试,并在某些结束标记之前插入“required”,以便用户在至少尝试回答所有问题之前无法提交结果。

以下是两类问题的代码,其中输入类型= radio或text ...

$QA = '<div class="Answer">
      <label class="Wide" for="q'.$QID.'-'.$Value.'"><div    class="Radio"><input type="radio" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" style="display: none;" required> '.$Value.'.  '.$QA.'</div></label></div>';

文字输入...

$QA = '<div class="Answer">
      <label for="q'.$QID.'-'.$Value.'"><div class="Multiple-Choice"> <input type="text" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value=""  required></div></label></div>';

文本输入正常。如果用户在回答文本问题之前单击提交按钮,页面会跳到他们未回答的问题,并弹出一条消息:“请填写此字段。”

但如果他们点击提交按钮而不回答输入类型为“radio”的问题,则不会发生任何事情。页面没有提交(就像它应该的那样),但是用户可能不知道为什么因为页面没有跳到未答复的问题,并且没有显示任何消息。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果问题得到解答,那不应该是你唯一的检查。

在使用jquery发送数据之前,您还应遍历所有字段并检查某个字段是否没有值,并将用户返回到该字段并显示错误消息。

之后你应该检查php部分中的每个字段,并在ajax加载时向用户返回错误。

用户可以删除前端检查,但不能跳过后端检查。

查询循环和检查的示例

var inputs = $('#myForm :input');

inputs.each(function(index, value) {
    if ($(value).val() == '') { //check if the input is empty 
        //return the error
    }
});

你明白了。你应该在php部分中使用相同类型的检查。