user1681039
user1681039

Reputation: 83

value of hidden input is always 0

I am having trouble getting the correct value in my hidden input.

Below I have a form which gets appended into a table everytime he user clicks a button:

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

Now this is the problem I am recieving and it deals with the hidden input in the form:

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

Lets say I append two forms into a table, one form in row 1 (value in hidden input should be 1) and one form in row 2 (value in hidden input should be 2).

The problem is that there is no value in either form. The value of both forms are still 0. What do I need to include in code below to be able to include the correct value for the correct form?

Below is the code:

...//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; 
}

Upvotes: 0

Views: 1505

Answers (2)

coolxeo
coolxeo

Reputation: 563

You miss the parenthesesneed to call the function. Try to write

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

Upvotes: 0

Kevin B
Kevin B

Reputation: 95062

Use .val() to get the value, .attr("value") gets the default value since jQuery 1.6

Upvotes: 1

Related Questions