Javascript 隐藏输入中的值错误

Javascript 隐藏输入中的值错误,javascript,jquery,Javascript,Jquery,我在获取隐藏输入中的正确值时遇到问题 下面我有一个表单,每当用户单击按钮时,该表单就会被追加到表中: var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target_image' onsubmit='return imageClickHandler(this);' class='imageuploadform' >

我在获取隐藏输入中的正确值时遇到问题

下面我有一个表单,每当用户单击按钮时,该表单就会被追加到表中:

  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); 
var$fileImage=$(“”+
“


”+ “图像文件:

”+ "" + “

”+ ""); $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;
}
var numimage=0;
…//顶部的表单代码显示在此处
//下面的代码增加一个问题编号,并增加添加的每一行的隐藏值
$('.num_问题')。每个(函数(){
var$this=$(this);
变量$questionNumber=$(“”).attr('name',$this.attr('name')+“[]))
.attr('value',$this.val());
$qid.append($questionNumber);
++裸体图像;
$(“.numimage”).val(numimage);
});
//下面开始上传文件
函数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;
}); 
//下面是文件上传停止的代码
函数stopImageUpload(){
$(sourceImageForm).find('.imagef1\u upload\u form.msg').html(结果);
$(sourceImageForm)。查找(“.fileImage”)。替换为(“”);
$(sourceImageForm).find('.imagef1_upload_form').css('visibility','visible');
返回true;
}
在任何地方添加此方法

JS更改表单的创建

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='" + GetFormCount()+ "' /></p>" +
    "<iframe class='upload_target_image' name='upload_target_image' src='#' style='width:0px;height:0px;border:0px;solid;#fff;'></iframe></form>");
var$fileImage=$(“”+
“


”+ “图像文件:

”+ "" + “

”+ "");

p、 据我所知,每个表单中都有这个字段。

如果您不介意,可以修改javascript代码,使其包含我的jquery代码,因为我对我需要做的事情有点困惑,如果您用我的代码显示一个示例,我会更容易:)请参阅我的更新。在这种情况下,您将拥有具有自身表单值的隐藏表单。如果您有3个表单,那么您将有3个值为“0,1,2”的隐藏表单哦,对不起,我现在明白了,我需要做的就是使用您友好地提供给我的javascript代码,但只需更改
var frm=$(“表单”)
var frm=$('.imageuploadform')。或者我可以把它保持在
var-frm=$('FORM')?您可以更改,但是在这种情况下,您的所有表单都应该有这个类。非常感谢您提供的代码和您的答案:)我猜我也不需要这个
++numimage$(“.numimage”).val(numimage)
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='" + GetFormCount()+ "' /></p>" +
    "<iframe class='upload_target_image' name='upload_target_image' src='#' style='width:0px;height:0px;border:0px;solid;#fff;'></iframe></form>");