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>");