隐藏输入的值始终为0

时间:2012-09-26 21:59:38

标签: javascript jquery

我无法在隐藏输入中获取正确的值。

下面我有一个表单,每次用户点击一个按钮时都会附加到表格中:

   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='" + GetFormImageCount + "' /></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='" + GetFormImageCount + "' />

假设我将两个表单附加到表中,第1行中的一个表单(隐藏输入中的值应为1)和第2行中的一个表单(隐藏输入中的值应为2)。

问题是两种形式都没有价值。两个表单的值仍为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);                             



});

//BELOW IS THE FUNCTION WHICH SHOULD INSERT THE VALUE FOR THE HIDDEN INPUT FOR EACH FORM

function GetFormImageCount(){ 
  var frm = $('.imageuploadform'); 

    if(frm[0] != undefined) 
    { 
       if(length in frm ) 
       { 
          return  frm.length; 
       } 
        return 1; 
    } 
    return 0; 
}

2 个答案:

答案 0 :(得分:1)

使用.val()获取值,.attr("value")获取自jQuery 1.6以来的默认值

答案 1 :(得分:0)

你错过了括号来调用这个函数。试着写

<input type='hidden' class='numimage' name='numimage' value='" + GetFormImageCount() + "' />