【发布时间】:2015-10-21 05:51:00
【问题描述】:
我尝试使用 Codeigniter 3.x 和 Jquery 构建一个自动评分系统 并且很难找到来源。
答案输入法是选择题和简答题或多选题。
喜欢吹图片
我的 HTML:
[CHECKBOX LIST]
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-lg btn-default">
<input type="checkbox" class="input_ans" name="<?=$t->idx?>" value="1" />1
</label>
<label class="btn btn-lg btn-default">
<input type="checkbox" class="input_ans" name="<?=$t->idx?>" value="2" />2
</label>
<label class="btn btn-lg btn-default">
<input type="checkbox" class="input_ans" name="<?=$t->idx?>" value="3" />3
</label>
<label class="btn btn-lg btn-default">
<input type="checkbox" class="input_ans" name="<?=$t->idx?>" value="4" />4
</label>
<label class="btn btn-lg btn-default">
<input type="checkbox" class="input_ans" name="<?=$t->idx?>" value="5" />5
</label>
</div>
[INPUT TEXT LIST}
<?php
$tagArray = explode(',',$t->EAnswer);
$arrayCount = count($tagArray);
?>
<?php
if ($arrayCount == 1) {
echo '<input class="form-control input-lg input_ans1" name="'.$t->idx.'" type="text">';
} else {
for ($i=0; $i < $arrayCount; $i++) {
$calc_col = 12 / $arrayCount;
echo "<div class='col-md-$calc_col col-xs-$calc_col' style='padding:5px;'>";
echo '<input class="form-control input-lg input_ans1" name="'.$t->idx.'" type="text">';
echo "</div>";
}
}
?>
CHECKBOX LIST 是选择题答案,INPUT TEXT LIST 是简答题或多选题。
我的 Javascript:
<script>
$(".submit_answer").click(function(event){
event.preventDefault();
var searchIDs = $(".input_ans:checked").map(function(){
return this.name+':'+ this.value;
}).toArray();
var searchIDs1 = $(".input_ans1").map(function(){
return this.name+':'+this.value;
}).toArray();
bootbox.confirm("ARE YOU SUBMIT TEST?", function(result) {
if(result) {
var merge_sort = $.merge( $.merge([],searchIDs), searchIDs1);
var array_data = merge_sort.toString();
$.ajaxSettings.traditional = true;
$.ajax({
type : "POST",
data : { "data" : array_data },
dataType: "html",
url : '/CONTROLLER_NAME/AAA?>',
success : function(msg) {
console.log(msg)
if () {
// error
} else {
/// success
}
}
})
}
});
})
</script>
我的 PHP:
<?php
$data = $this->input->post('data');
$tags = explode(',',$data);
natsort($tags);
$new= [];
foreach($tags as $v) {
$temp = explode(':', $v);
$new[$temp[0]][] = $temp[1];
}
foreach($new as $k => $v) {
$new[$k] = $k . ':' . implode(',', $v);
}
foreach ($new as $key) {
$Num = strrev(strstr(strrev($key) , ':'));
$Text = strstr($key , ':');
if (validate data) {
}
else {
//do something
}
}
我的问题是如何在 Jquery 或 PHP 中检查验证空数据?如下图:
我想检查是否:
$Text = strstr($key , ':');
是空的,然后提醒:
alert($Num."nth data is Empty")
或
alert(please input data)
【问题讨论】:
-
阅读这篇教程w3code.in/2015/10/…
-
谢谢,我用jquery验证解决了这个问题
标签: php jquery codeigniter validation