我希望在数据库表中显示正确的问题编号,但问题是它通过 +1 显示不正确的问题编号。
假设我有 4 行,我在第 2 行和第 4 行使用文件输入来上传文件,那么这意味着问题编号应该是 2 和 4,这意味着表格应该如下所示:
ImageId SessionId QuestionId
01 AAA 2
02 AAA 4
但相反,它的问题编号只加了 1,这意味着它的显示如下:
ImageId SessionId QuestionId
01 AAA 3
02 AAA 5
我认为问题在于我没有正确增加问题编号。谁能看到我在下面的代码中做错了什么,它插入了错误的问题编号?
下面是代码:
var qnum = 1; //question number starts at 1
var qremain = <?php echo (int)$_SESSION['textQuestion']; ?>; //the full number of questions
var $qid = $("<td class='qid'></td>" ).text(qnum);
var $image = $("<td class='image'></td>");
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" +
"Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +
"<label><input type='button' name='imageClear' class='imageClear' value='Clear File'/></label>" +
"</p></form>");
$tr.append($qid);
$tr.append($image);
$('.num_questions').each( function() {
var $this = $(this);
var $questionNumber = $("<input type='hidden' class='num_questionsRow'>").attr('name',$this.attr('name')+"[]")
.attr('value',$this.val());
$qid.append($questionNumber);
++qnum;
$(".questionNum").text(qnum);
$(".num_questions").val(qnum);
--qremain;
$(".questionRemain").text(qremain);
});
$('.num_questions').each( function() {
工作是这样的:
- 当用户打开页面时,qnum(问题编号)从顶部的“1”开始
- 当用户添加表格行时,它将从顶部获取问题编号“1”并将其显示在添加的行中,并且顶部的 qnum(问题编号)递增,因此它现在状态为 2
- 当用户添加另一行时,它将从顶部获取问题编号“2”并将其显示在添加的行中,并且顶部的 qnum(问题编号)递增,因此现在显示 3。
- 等等等等……