Jump to content


Caspio Ninja
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by BaySunshine

  1. Hi @sfraden, Please try adding your code within the BeforeFormSubmit event function. This should ensure to perform the validation after all the fields are populated. <script type="text/javascript"> document.addEventListener('BeforeFormSubmit', function(event) { // do something }); </script> Regards,
  2. Hello @awolagain, You can request any app from Free App Templates for Your Online Database | Caspio to be uploaded to your account but keep in mind that the number of deployed DataPages allowed for free accounts are only 5. So, if you wish to deploy the app on a host and use it for your business, you will be able to do deploy only 5 of them at a time. However, if you want to just see and learn how the tables are designed and DataPages are built etc, you can do so without any issues. You can also preview any number of DataPages separately without having to deploy them. To request an
  3. Hi @sfraden, How about you add a calculated value in your submission form and perform the validation before submitting the form? Add a virtual field to your form, change the form element to calculated value. Using CASE WHEN and SELECT query, validate to see if the record already exists in the table. If it does, then return 1, else return 0. In your JavaScript, verify the value of this virtual field. If the value returned is 0, then submit and the form. If the value returned is 1, then just redirect the form. The formula in the calculated value can be written as follows: CASE WHEN (S
  4. Hi @Batchini, You can use calculated value or field if you want to concatenate the fields from the same record. Can you give an example so I can provide you a better solution? Regards,
  5. Hi, Try adding a progress loading bar as suggested in the video below: Adding a Progress Loading Bar to Caspio DataPages - YouTube **Insert inside the Header of your DataPage** <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/themes/black/pace-theme-loading-bar.css" /> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js"></script> <script> Pace.on("done", function(){ setTimeout( function() { document.getElementById( 'cb-content' ).style.display = 'block'; }, 200); }); &l
  6. Hi @wgroth, Can you attach a screenshot to show when the code did not work? For me, the code that @rush360 suggested is working fine. Thanks,
  7. The above code will not work for the new DataPages that have "Responsive" checkbox enabled. You can use the following instead for such pages: <style> div { margin: auto; } </style>
  8. Hi everyone, Email trigger does not still allow attachments in Caspio. However, a workaround it is to create another table using a trigger which will store just the email addresses, count of records and any other information as you wish. Make sure that the email address field is unique so you don't accidentally store it more than once. Include IF statement in the trigger and use 'exists' or 'not exists' operator to verify if an email address exists. Add a checkbox field in the new table and also a date field to store the date the email was sent. Run a task everyday which will send out a
  9. Hi @DesiLogi, The error "Values cannot be submitted due to a data restriction" can be caused due to formula fields or triggers. Do you have those in your table? If you do, check those first. Disable trigger temporarily and try. If there is formula field, verify if the formula used is correct. Other way to confirm if JS is causing this error is by removing the code from the DataPage and test it. Before that make sure to save it on notepad or some place. If you still get the error, then it means that there is something else that is causing the error. Regards,
  10. Hi @NickO, Any time you have a many-to-many relation between two tables, always create a third table which has ids from both tables. That way you avoid having this kind of an issue. Example of a many-man-many relation: In this example, Orders and Products table are related many-to-many. So, a third table is added, Order_Products which will join these two tables individually by one-to-many relationship. I hope that helps. Regards,
  11. BaySunshine


    Hi @TimJaggs, The only way to do an auto save in Caspio is by using Grid Edit functionality of a report. The Grid Edit works like an Excel sheet wherein you enter data in each cell and the system automatically saves the data. Here is the howto link for Grid Edit: https://howto.caspio.com/datapages/reports/data-editing-options-in-reports/ The other suggestion that Caspio usually gives for long forms is to create a multi-step form. In this the first step uses a submission page and the rest uses Details page with auto submission. You can refer to the steps from this article https://how
  12. Hi @arnold, You cannot add fields dynamically to a table in Caspio. As a workaround for your use case, you can add some extra fields in the table and rules to show/hide them in the form. Refer to the howto article https://howto.caspio.com/datapages/forms/conditional-forms/ for help on creating rules in a submission form. Hope that helps.
  13. Hello @MrsWhitebread, To achieve this workflow, create a view for client-funder table based on the matching issue area. Then create a report DataPage using the view as the data source and filtered on predefined criteria. Pass search values for client, funder and issue area of match as parameters to the DataPage. It will then pull the matching results based on the specified criteria. I hope that helps.
  14. Hi @bbeshlian, The solution for this issue is to use a table which has ID field marked as unique field in the table. Use this field as the data source of your report DataPage. To show the rest of the fields in the report, use calculated fields with SQL queries to query the view based on the same ID value. Be sure to include a Where condition which will help only pull a certain record for the respective ID value. When using a view in the calculated field, add '_v_' to the name of the table like shown below: select field_name1 from _v_viewname where field_name2='..........'
  15. Hi @Durand, Is your Description field set as a Cascading text field to show the description of a part number from another table? If so, I advise you to add a Virtual field and change the form element of this field to 'Calculated value'. Add a Case..When statement as below: ************* Case when [@field: Part_Number] is null Then 'Invalid Part Number' End ************* Add a Rule to the DataPage for both the Virtual field and the Description field. Rule 1: Part number field 'is blank', 'hide' Description field Rule 2: Part number field 'is no
  16. Hi @JanineB, Tasks can be set to run at specific intervals during the day, week or a month etc. However, if you are looking for updating the empty values as soon as they are inserted, you can use a trigger. For this, create a triggered action on the main table based on an insert action on the table. Then add a update trigger to update the inserted table field. Add a join to join the inserted table with the city table based on their ids. Hope that helps.
  17. 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.
  18. Hi @FinTheHuman, Add left and top features to your code and you should be able to place it anywhere on the window. <a class="workorder" href="#" onclick="window.open("https://www.google.com/","mywindow", "menubar=1,resizable=1,width=750,height=950, top=150, left=500")">Google</a> I hope this helps.
  19. Hi @george43, Thanks for correction. I missed it. Yes, it should be document.getElementsByName("Value1_1")[0].value.
  20. The fields in the Search form can be referred to as Value1_1, Value2_1, Value3_1 etc in the order they are displayed. So, to access Value_1, you can enter: document.getElementsByName("Value1_1").value or document.getElementByID("Value1_1").value Hope that helps. Regards,
  21. Hi @JolliBeng, In Download Settings, select data to be printed from the Details page instead of the Results page. In the Details page, add all the fields that you intend to display in the PDF. I hope that helps. Regards,
  22. Hi @kpcollier, You can freeze first columns from Results Page Options settings. https://howto.caspio.com/datapages/reports/fixed-rows-and-columns/
  23. Hi @wvantongeren, Also make sure to add a group by clause if there are multiple records containing the same ID. Is OffertNR an ID field? If it is then try the following: SELECT sum(Teller) FROM K_Schadekenmerken_Data WHERE OfferteNR = target.[@field:OfferteNR] group by OfferteNR For examples, check out https://www.w3schools.com/sql/sql_groupby.asp.
  24. Hi @JckDY, To use JavaScript in Caspio, please first take a look at This has the useful tips on how to address each form element in different types of DataPages. Also, Caspio does not require coding. Only if you want to customize your app and have very advanced features added to your app, then you may need some coding. Mostly an app can be created using the standard features and minimal JS code. Caspio has many helpful online articles and videos that can help you start with your app. https://howto.caspio.com/getting-started/
  25. Hi @Heineperson, Caspio has stopped supporting onsubmit code: https://howto.caspio.com/release-notes/caspio-bridge-13-0/13-0-impacted-areas/ Please try the following fix: <SCRIPT LANGUAGE="JavaScript"> document.addEventListener('BeforeFormSubmit', function (event) { var x0 = document.getElementsByName("EditRecordassociatedSpecies")[0].value; var x1 = document.getElementsByName("cbParamVirtual2")[0].value; if (x0 && x1) { document.getElementsByName("EditRecordassociatedSpecies")[0].value = x0+"; "+x1; } else { document.getElementsByName("EditRecordassociatedSpe
  • Create New...