我无法在隐藏的输入中获取正确的值。
下面我有一个表单,每次用户单击按钮时都会将其附加到表格中:
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target_image' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" +
"<p class='imagef1_upload_form' align='center'><br/><span class='msg'></span><label>" +
"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>" +
"<input type='hidden' class='numimage' name='numimage' value='" + numimage + "' /></p>" +
"<iframe class='upload_target_image' name='upload_target_image' src='#' style='width:0px;height:0px;border:0px;solid;#fff;'></iframe></form>");
$image.append($fileImage);
现在这是我收到的问题,它处理表单中的隐藏输入:
<input type='hidden' class='numimage' name='numimage' value='" + numimage + "' />
假设我将两种形式附加到表中,第 1 行中的一种形式(隐藏输入中的值应为 1)和第 2 行中的一种形式(隐藏输入中的值应为 2)。
现在,如果我使用表单 1 上传文件,那么隐藏输入中的值等于 1,这是正确的。如果我然后使用表单 2 上传文件,则输入中的值等于 2。这很好。
问题是,如果我恢复到表单 1 并上传另一个文件,由于我的编码方式,隐藏输入的值仍然是 2,而实际上它应该是 1。
所以我的问题是如何更改下面的代码,以便隐藏输入的值是取决于用于上传文件的表单的数字,(使用的表单 1 的值 = 1,表单 2 的值 = 2已使用,值 = 3 用于表格 3 等)
下面是代码:
var numimage = 0;
...//form code from top goes here
//CODE BELOW INCREMENTS A QUESTION NUMBER AND INCREMENTS THE HIDDEN VALUE FOR EACH ROW ADDED
$('.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);
++numimage;
$(".numimage").val(numimage);
});
//BELOW STARTS THE UPLOADING OF THE FILE
function startImageUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_cancel').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceImageForm = imageuploadform;
});
//BELOW IS CODE FOR WHEN FILE UPLOAD STOPS
function stopImageUpload(){
$(sourceImageForm).find('.imagef1_upload_form .msg').html(result);
$(sourceImageForm).find(".fileImage").replaceWith("<input type='file' class='fileImage' name='fileImage' />");
$(sourceImageForm).find('.imagef1_upload_form').css('visibility','visible');
return true;
}