You are viewing limited content. For full access, please sign in.

Question

Question

How to create an add and delete button and functionality in Laserfiche forms

asked on April 1, 2021 Show version history

Hello, I'm still new to this but Is there a way to create an single line and under in single line there an add and delete button or icon. For example A student fill out a form put in there college course and they want add another course they click on the Add button and add another course in the next single line. Is there a way to create this in forms?? If you don't understand this question please me know and I will go in more detail... Also here are some example

delete row button.png
dynamicmodel.PNG
0 0

Replies

replied on April 1, 2021 Show version history

I think this is what you are trying to do...

This worked in my own testing, other than I occassionally had to click the buttons twice before they worked, I think it is a focus issue, but I couldn't quite nail it down.

This assumes that your table has Class Name of myTable, that one of the Single-Line fields in your table has Class Name of myTableField, and that field has the checkbox marked for "Previous data and new rows with lookup data will be read-only, but user-added rows will be editable."

Add this CSS to your form: 

/*Set the appearance of the custom Add and Delete buttons on the table*/
.myButton { 
  display: inline-flex; 
  align-items: center; 
  font-size: 14px; 
  position: relative; 
  max-height: 30px; 
  min-height: 30px;
  background-color: #007bff;
  color: white;
  border: 0px;
  border-radius: 7px;
}

 

Add this Javascript to your form: 

$(document).ready(function() {
  
  //When the form loads, call the RemoveDeleteFromDisabledRows and ReplaceDeleteAndAddWithButtons functions.
  $('.myTableField input').each(RemoveDeleteFromDisabledRows);
  $('.myTableField input').each(ReplaceDeleteAndAddWithButtons);
  
  //When the table changes, call the RemoveDeleteFromDisabledRows and ReplaceDeleteAndAddWithButtons functions.
  $('.myTable').change(RemoveDeleteFromDisabledRows);
  $('.myTable').change(ReplaceDeleteAndAddWithButtons);
  
  //When rows are added to the table, call the RemoveDeleteFromDisabledRows and ReplaceDeleteAndAddWithButtons functions.
  $('.cf-table-add-row').click(RemoveDeleteFromDisabledRows);
  $('.cf-table-add-row').click(ReplaceDeleteAndAddWithButtons);
  
  //When this function is called, it will cycle through each table row and if the myTableField
  //field is disabled, it will remove the option to delete that row from the table.
  function RemoveDeleteFromDisabledRows()
  {
    if($(this)[0].hasAttribute("readonly"))
    {
      $(this).closest('li').find('.form-del-field').remove();
    }
  }
  
  //When this function is called, it will cycle through each table row and replace the delete
  //x's with delete buttons, and the add link with add button.
  function ReplaceDeleteAndAddWithButtons()
  {
    $(this).closest('li').find('.form-del-field').html('<button class="myButton">Delete</button>');
    $('.cf-table-add-row').html('<button class="myButton">Add +</button>');
  }
  
});

 

End result looks like this:

 

All this is doing is replacing the links for the add and delete items in the table with custom buttons.

1 0
replied on April 1, 2021 Show version history

Yes, you should be able to do that by:

  1. Setting the row options on the collection or table to be “Append rows to the rows populated by a data source or variable”.
  2. Setting the Field options on the table column fields or lookup target fields to be “Previous data or new lookup data will be read-only, but user-added sets will be editable”

And you can set the minimum to be 0 if you don’t want any pre-appended-editable rows at the bottom.

These settings can achieve the following:

  1. Previous data or lookup data will be read-only and cannot be deleted at the top
  2. Users can manually add data that will be editable and deletable at the bottom

 

1 0
replied on April 27, 2021

Hey Jared, is there a way the to keep the Field Label to show only once and then when you click I only want to see the text box only??

N16.JPG
N16.JPG (36.17 KB)
0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.