Jump to content


Popular Content

Showing content with the highest reputation since 06/20/2019 in all areas

  1. 2 points
    I suggest using Print.js. With Print.js you can target the specific id of the element that you wanted to print out as a PDF. More info on the link here: https://printjs.crabbly.com/
  2. 1 point
    Continuation from my previous response: How this works is: DataPage "tbl Web Form" has this script in the Footer (HTML Editor disabled from the Advanced Tab). This script is responsible for submitting the instantiated form when function bulkSubmit() is called from HTML DataPage (i.e. when Bulk Submit! button is clicked). <script> function displayMessage (evt) { document.querySelector(`.cbSubmitButtonContainer [id*=Submit]`).click(); } if (window.addEventListener) { // For standards-compliant web browsers window.addEventListener("message", displayMessage, false); } else { window.attachEvent("onmessage", displayMessage); } </script> Next, let's talk about HTML Page (DataPage). So, we have two buttons. One, for instantiating a Submission Form DataPage upon click; and another button to submit all the instantiated DataPages. <button type="button" onclick="addIframe()"> Add </button> | <button type="button" onclick="bulkSubmit()"> Bulk Submit! </button> We also have an HTML container for the instantiated DataPages. <div id="ifr-container"></div> Finally, we have our JavaScript functions definition: <script type="text/javascript"> var ifrContainer = document.getElementById('ifr-container'); function addIframe() { var ifrCount = ifrContainer.childElementCount; console.log(ifrCount); ifrContainer.insertAdjacentHTML('beforeend', `<iframe class="cdr-iframes" src="[@app:URL_1]"></iframe>`); } function bulkSubmit() { document.querySelectorAll('iframe.cdr-iframes').forEach(function(elem){ elem.contentWindow.postMessage("", "*"); }); } </script> addIframe() inserts a new instantiation of the Submission Form in the HTML container. bulkSubmit() submits the instantiated Submission Forms one by one DN31337!
  3. 1 point
    It does require a login as it has security. I will post again in a bit to provide you access. Thanks
  4. 1 point

    Chart Datapage

    Hello @Vitalikssssss You can implement such a chart using the Highchart library and Tabular Report Datapage. Steps: 1. Create the Tabular Report Datapage based on the table you want to use to draw a chart. 2. Use predefined criteria to find the actual row from the table. 3. Add all the fields you want to draw to ResultSet. 5. Add two APP parameters to your Application. Find the files attached. Name the files in the same way as it is on the screenshot below. 6. Add the following code to Header/Footer of the result set page. Header: <script src="[@app:JQueryScript/]"></script> <script src="[@app:HighchartsScript/]"></script> <div id="container" style="height: 400px"></div> <style> .cbResultSetTableCellNumberDate, .cbResultSetTotalsDataCellNumberDate { text-align: left !important; } form[action^="https://c1abc032.caspio.com/dp/9a23600092ea09cd1acf435e847b"] { display: none; } </style> You should only change the DeployURL in this snippet of code. Use the Deploy URL of the same Datapage you work on after you create it. form[action^="Your_Deploy_URL"] Footer: <script type="text/javascript"> document.addEventListener('DataPageReady', function () { /* ________ Check if Highcharts library is loaded ________ */ var myVar = setInterval(myTimer, 200); function myTimer() { console.log(typeof Highcharts); if(typeof Highcharts !== "undefined") { myStopFunction(myVar); drawChart(); } } function myStopFunction(val) { clearInterval(val); } /* ________ Draw Chart function ________ */ function drawChart() { let labelsRow = document.querySelectorAll('.cbResultSetLabelLink'); let labels = []; let valuesRow = document.querySelectorAll('.cbResultSetTableCellNumberDate'); let values = []; let resultSet = []; for(let i = 0; i < labelsRow.length; i++) { labels .push(labelsRow[i].innerText); values.push(+valuesRow[i].innerText); } for(let i = 0; i < values.length; i++) { if(values[i] === 0) { continue; } else { resultSet.push({ name: labels[i], data: [ values[i] ] }); } } var chart = Highcharts.chart('container', { chart: { type: 'column' }, title: { text: 'Comparosin chart' }, xAxis: { labels: { enabled: false } }, yAxis: { min: 0, title: { text: 'Value' } }, credits: { enabled: false }, series: resultSet }); } }); </script> highcharts.js jquery.js
  5. 1 point

    Ticketing System

    Hi Scarlet, I figured out a way to do this on trigger. The idea is, you'll prevent using two DataPages since the Timestamp is being generated from the trigger. This is a sample trigger you can use. So upon update, you can update the #inserted Start time if the technician (which in your case is the ticket handler), has been changed. And update the #inserted EndTime if the #inserted Status is closed. The case when statement there, is to update the fields only if the respective fields has been changed. Works like a charm. Hope this helps, Scar. Glitch ();
  6. 1 point
  7. 1 point

    Phone number Formatting

    Hi @jafranklin77, I found another forum post that is quite similar to your inquiry. You can check it here: Thanks. -kristina
  8. 1 point

    Phone number Formatting

    Hi @jafranklin77, You may also check the solution provided in this link: Hope this helps. -kristina
  9. 1 point

    90-Day Password Expiration

    Hi there! The previous reply is correct, you need to have the Last Update field. However, I think Javascript is not necessary. JS would probably be my last option on workarounds. So, how can you do this without Javascript? You can use Tasks to send out email for the users who has outdated Email. You can set it up like this: (You can change the conditions based on your requirement) On the Message Body, you can put in the link of the DataPage that will enable the users change their passwords. Of course, you can add some actions in the task as well, like for example, once a user does not change the password after 90 days, this user will be inactive (using checkboxes prolly) Hope this helps(); Glitch
  10. 1 point

    Phone number Formatting

    In this link, you can find how to refer to an element on different DataPage types
  11. 1 point

    Phone number Formatting

    Are you trying the code on an update form or submission form? the format of the IDs you are referring to on an update/details page is different from submission. What is the link to the page where you have this code on which is throwing an error?
  12. 1 point
    Hello. You must be looking for Formula Fields or Triggered Actions. https://howto.caspio.com/tables-and-views/data-types/formula-fields/ https://howto.caspio.com/tables-and-views/triggered-actions/ If the Calculated Field is processed using the other fields on the same record, you may use Formula Field. Otherwise, if you are referencing to data outside the row/record, you'd need to use a Triggered Action.
  13. 1 point
    The best kind of solutions.
  14. 1 point
    Hello @kpcollier, You have a typo error on your URL Scheme. Semicolon ":" is missing. Make sure that your URL starts with https:// Good thing I have good eyes. Lol. Apologies for being vain. Happy Hacking! -DN31337
  15. 1 point
    I think it would be better if you can create a test datapage and check if that will work. If the replicated page works, then there is something wrong with your URL in your original link. Re-deploy and re-paste the URL of the deployed DataPage. Hence, if the replicated Datapage still does not work, check your HTML code.
  16. 1 point
    If you want to retrieve the old value and the new value at the same time, like what I mentioned on the previous response, all you need to do is to join the inserted table with the own table. Here's a screenshot on how to do that. (This is just and idea how to do this, though I don't know your exact workflow) On the table where you're inserting, this will be the value: I hope this helps.
  17. 1 point

    Input Time

    Hi @Role21, Yes, Caspio does not have a time picker option. What you can do is separate the input fields for your date and time fields. That will require some javaScript, you may refer to this Tech Tip for more details. You may also check this sample Time Sheet Web Form. -JolliBeng
  18. 1 point

    Standard PDF Feature

    This article provides elaborate demonstration for the PDF Report function of Caspio. Note that this is only available in the Reports and not in the submission form. Selecting as Download Options PDF download option is available in all Report DataPages, including Pivot Tables and Combined Chart and Reports. This option allows your app users to download the displayed Report DataPage as a PDF file. You can also find this information from one of the Release notes article: https://howto.caspio.com/release-notes/caspio-bridge-13-0/ Customization If your PDF is enabled as a Download option, you can actually set and customize it according to your preferences. Just click the icon beside it to check the default configuration of the PDF.
  19. 1 point
    @kpcollier Should each new item contain the same Labours group? If yes, please check the application attached. TRIGGER_Assign_Labours_1_0_2019-Jun-14_0919.zip The trigger under "Item_and_Labours" table will multiple entries as soon as you submit a new one. You need to import this zip file into your account. Here you can find the information related to the import process - https://howto.caspio.com/tables-and-views/importing-data/
  20. 1 point
    Hi @kpcollier, You can use triggers to insert 3 lines in a new/existing table on an insert action in a table. For calculating total cost estimates, you can use a report. I hope that helps.
  21. 1 point
    Hello @Subtlety, I think this depends upon what that public forum is trying to achieve. In some cases, Caspio does have a certain feature which you can use but in some, it may require custom codes or in some cases complex ones. Well, for you to better understand Caspio, I think they have their trainings and other stuff that you can utilize. I believe it's here https://www.caspio.com/training. They are conducted during the weekdays and they are free. There are also some features that you may want to check such as Authentication, API Integration, etc. at https://howto.caspio.com. Also, I think it is better if you try to fill out the form of their Professional Services team at https://www.caspio.com/services/professional-services/ I hope this helps you.
  22. 1 point

    Bulk Edit Auto-Submit

    Hi, Does anyone know how to put code in the footer of a Bulk Edit form so it auto-submits (so the user doesn't have to click the Update button)? This code: <script type="text/javascript"> if(document.getElementById("caspioform")) { document.getElementById("caspioform").style.display = 'none'; setTimeout('document.forms["caspioform"].submit()',1000); } </script> works only on a regular Update or Submission form. If you use it in Bulk Edit it just keeps refreshing the records over and over. So there must be some specific code for Bulk Edit. As well, if I can get Bulk Edit to auto-submit I'd like to remove he Update button so if anyone has code for that it'd be really great. Thanks!
  23. 1 point
    Hi guys, I would like to share this with you. Since there is an existing tech tip: https://howto.caspio.com/tech-tips-and-articles/advanced-customizations/how-to-add-a-time-limit-to-submission-forms/, I would also like to provide a possible alternative without using JavaScript and just relying on with Caspio's standard feature: Initial Requirements: -One Table containing the records for the data. Inside the table, you’ll need at least one unique field, and two Date/Time fields for your Start date and End date. (Screenshot: ) -Three Deployed DataPages: 1 Submission form, 1 Single Update Record, 1 Reports Form. DataPage configuration steps: 1. From the Submission Form DataPage, select the Start Date Date/Time fields from your available fields. Make sure to check the ‘On exit, pass ID and formula fields as parameters for us to get the duration time possible. ( ) 2. From the Configure fields, set the form element of the Start Date to TimeStamp. ( ) 3. From the Destination Options, select ‘Go to a DataPage’ as the destination after record submit. Select the Single record update DataPage as the destination of the submission form and click finish. 4. From the Single Record Update DataPage, go to the Record Identification and select the record with the unique field. Set the parameter name as [@insertRecord + field name + ]. ( ) 5. Similar with the configurations of the submission form, retrieve the End Date Date/Time field and set the form element to TimeStamp as well. 6. From the Destination Options, select ‘Go to a DataPage’ as the destination after record update. Now, select the reports DataPage as the destination of the Single Record Update DataPage and click finish. 7. Configuring your tabular Reports DataPage, configure the filtering fields and receive the unique field as the DataPage element and receive the value or parameter on load. ( ) 8. From the Configure results page fields, add a calculated field with the following formula: DateDiff (ss, [@field:StartDate], [@field:EndDate]) . Change the StartDate and EndDate to the name of your actual field. The formula gets the seconds between the two dates before submission and after the update form was created (Get more at https://howto.caspio.com/function-reference/). Verify if the formula will work and if valid, click finish and test the DataPage. 9. Deploy all the three DataPages and start submitting the record from the submission form. I hope this helps.
  24. 1 point

    Replacing blanks in a field

    Hello there, i had the same question. i'm sure by now you've found the solution but i will answer the post in hopes that it may help other newbies. From Datasheet view select the replace tab in the "find what" field leave blank. in the "replace with" field enter "some text" in the "search range" field enter "current column, row or all" in the "direction" field enter "all" select both "match case" and "match entire field" the find should find all blank entries. once those entries are found, you can then select "replace" or "replace all". be careful with the replace all, i would suggest testing a single row before updating all. I hope this helps someone else.... Regards
  25. 1 point
    You can try to add a if statement to check and see if it is blank. For instance: <SCRIPT LANGUAGE="JavaScript"> function tel() { var message = document.getElementById("InsertRecordTEL").value; // here you get what the end-user typed if (message != "") { document.getElementById("InsertRecordTEL").value = (message.replace(/[^\d]/g, '')); // then you strip off all the spaces var message1 = document.getElementById("InsertRecordTEL").value; document.getElementById("InsertRecordTEL").value = ("(" + message1.substring(0,3) + ") " + message1.substring(3,6) + "-" + message1.substring(6,10)); } } document.getElementById("caspioform").onsubmit=tel; </SCRIPT>
  26. 1 point

    Tracking of Stats Possible?

    Hi Steve, Caspio does not provide stats reports, but third party tools can be integrated and used to track activity. You can use for example Omniture or other third party tools to track your analytics. Best, Bahar M.
  27. 0 points

    Tracking of Stats Possible?

    Hi! I just integrated caspio into our site and was wondering if there are any stat tools within caspio to track visitor/user activity? (database hits, search numbers, etc) Thanks, and we LOVE the product!! Steve
This leaderboard is set to UTC/GMT+00:00
  • Create New...