Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hide input button

Here is the code I have: http://jsfiddle.net/Draven/rEPXM/23/

I'd like to know how I can hide that Add submit button until I click the + image to add input boxes to the form.

I don't want to add the submit button next to the input box because I want to be able to add multiple input boxes and submit them all when I click Add.

HTML

<div id="left">      
  <div class="box">
    <div class="boxtitle"><span class="boxtitleleftgap">&nbsp;</span><span class="boxtitlebulk"><span class="boxtitletext">Folders</span><div style="float: right; margin-top: 4px;"><a href="#" onclick="javascript: AddFolder();"><div class="addplus">&nbsp;</div></a></div></span></div>
      <div class="boxcontent">
        <form method="post" id="folderform" action="page.php?action=list-volunteer-apps" name="folderform">
          <a class="even" href="page.php?action=list-volunteer-apps&folder=2">Folder 2 <span class="text">(1)</span></a><a class="even" href="page.php?action=list-volunteer-apps&folder=1">Folder 1 <span class="text">(0)</span></a>
          <div id="foldercontainer"><input type="submit" value="Add"></div>
        </form>
      </div>
  </div>
</div>

jQuery

function AddFolder() {
    $('#foldercontainer').append('<input name="folder[]" type="text" size="20" />');
}​
like image 901
Draven Avatar asked Oct 24 '12 14:10

Draven


2 Answers

Just give the button an ID, and make it start hidden

<input type="submit" id="addButton" value="Add" style="display: none;">

Then use the show() jQuery method:

$("#addButton").show();

http://jsfiddle.net/TcFhy/

like image 130
Andrea Ligios Avatar answered Sep 22 '22 10:09

Andrea Ligios


Here's a way you could do this... also, cleaned up the method used for making these input boxes a bit:

http://jsfiddle.net/mori57/4JANS/

So, in your html you might have:

  <div id="foldercontainer">
      <input id="addSubmit" type="submit" value="Add">
      <input id="folderName" name="folder[]" type="text" size="20" style="" />
  </div>

and your CSS might be:

#foldercontainer #addSubmit {
    display:none;
}
#foldercontainer #folderName {
    display:none;
    width: 120px; 
    background: #FFF url(http://oi47.tinypic.com/2r2lqp2.jpg) repeat-x top left; 
    color: #000; 
    border: 1px solid #cdc2ab; 
    padding: 2px; 
    margin: 0px; 
    vertical-align: middle;
}

and your script could be:

// set up a variable to test if the add area is visible
// and another to keep count of the add-folder text boxes
var is_vis = false,
    folderAddCt = 0;

function AddFolder() {
    if(is_vis == false){
        // if it's not visible, show the input boxes and 
        $('#foldercontainer input').show();
        // set the flag true
        is_vis = true;
    } else {
        // if visible, create a clone of the first add-folder
        // text box with the .clone() method
        $folderTB = $("#folderName").clone();
        // give it a unique ID
        $folderTB.attr("id","folderName_" + folderAddCt++);
        // and append it to the container
        $("#foldercontainer").append($folderTB);
    }
}​
like image 41
Jason M. Batchelor Avatar answered Sep 22 '22 10:09

Jason M. Batchelor