Jump to content


Caspio Evangelist
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Vitalikssssss

  1. Hi @JMR21, This screenshot confuse me a bit because highlighted fields set to "Display only", however, in your screenshot they set as TextFields (inputs). I am not able to replicate the issue with the information provided. Perhaps, you can export the Datapage with dependencies (without data) and attach it to your response, so I could have a closer look. Regards, vitalikssssss
  2. Hi @Jephta, I would recommend using standard Caspio features rather than custom code. You may consider approach of assigning default values described in this HowTo article: https://howto.caspio.com/datapages/datapage-components/setting-up-default-values/ Hope this helps. Regards, vitalikssssss
  3. Actually, you can base your Triggered Action on the table that is used as data source for the Details Datapage on which you would like to incorporate the JavaScript snippet to click on the "Update" button. You can create a Triggered action that runs "on update" and inserts the data from one table to another. You would need to use "Single Record Update" Datapage to redirect the user after "Update" button clicked, since the record will be created by the Triggered Action and user just need to confirm/edit the values that was inserted by Triggered Action. Regards, Vitalikssssss
  4. Not sure what did you mean by this... Anyway, you may use JS timeout() function to click on "Update" button instead of the user. <script> setTimeout(()=> { document.querySelector("input[id^='Mod0EditRecord']").click(); }, 2000) </script>
  5. Hi @David17, You can use the following JavaScript snippet that does not allow input of negative numbers of letters into the field. Place below code into the Footer of Submission Form Datapage: <script> document.addEventListener('DataPageReady', checkNegative); function checkNegative(){ let input = document.getElementById('InsertRecordYOUR_FIELD_NAME'); //change this according to the name of your field input.type = "number"; input.onkeydown = function(e) { if(!((e.keyCode > 95 && e.keyCode < 106) || (e.keyCode > 47 && e.keyCode < 58) || e.keyCode == 8)) { return false; } } } </script> Make sure that you disable HTML editor prior inserting the code. Hope this helps. Regards, vitalikssssss
  6. Hi @kcastagnaro, Well, Caspio has release some Triggered Action enhancement called "Loops" that could simplify the solution. As of now you would need to have two tables (i.e. three before). First table would hold event name and start and end date. The second table would hold each day of the event as a separate record. So the Triggered Action would look like the following: The package with tables and Triggered action here. Hope this helps. Regards, vitalikssssss
  7. Hi @sfraden, I guess you should consider using Triggered Actions for your workflow rather than stick with the concept of passing parameters. You may also consider using Application Tasks if you would like to have automated operation within Caspio tables. Hope this helps. Regards, vitalikssssss
  8. Hi @Mitch, You may try to use MS Visual Studio and Live server extension in order to develop your site. Live server allows you to preview your pages on local host environment. I have been using this software for a few years and it works fine with Caspio. Hope this helps. Regards, vitalikssssss
  9. Hi @JMR21, It looks like # sign is not the reason of the issue but the single quotation marks that you have within the parameter. I would recommend removing them from the parameter value to resolve the issue. Hope this helps. Regards, vitalikssssss
  10. Hi @Tyler, I can suggest using a different approach for this case that does not require JS snippet. You may create a lookup table that would be prefilled with date range Monday-Sunday (current week) with a help of Application Task. The Task might look like the following: You may use this lookup table as a source for a dropdown with predefined options. Hope this helps. Regards, Vitalikssssss
  11. Hi @JMR21, It is possible to add a JavaScript snippet on web-page. Basically you would need to place your datapages in some block elements and change the style property of the block from "display:block;" to "display:none;". You may use "FormSubmitted" AJAX event of Caspio Datapage. Here is an example of web-page that has 3 DP deployed: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="page_1"> <script type="text/javascript" src="https://xxxxxxx.caspio.com/dp/498c4000904cc6b6744049ea8b30/emb"></script> </div> <div id="page_2" style="display: none;"> <script type="text/javascript" src="https://xxxxxxxx.caspio.com/dp/498c4000802149cd8ef64f44a37b/emb"></script> </div> <div id="page_3" style="display: none;"> <script type="text/javascript" src="https://xxxxxxxxx.caspio.com/dp/498c4000e67cc919259840428b77/emb"></script> </div> <script type="text/javascript"> document.addEventListener('FormSubmitted', function(event) { //checks if user forgot to input all required fields let err = document.querySelector(".cbFormCommonError"); if (event.detail.appKey == '498c4000904cc6b6744049ea8b30' && !err ) { document.getElementById("page_1").style.display = "none"; document.getElementById("page_2").style.display = "block"; } else if (event.detail.appKey == '498c4000802149cd8ef64f44a37b' && !err) { document.getElementById("page_2").style.display = "none"; document.getElementById("page_3").style.display = "block"; } }); </script> </body> </html> Also, you may consider using an approach of rendering datapage "on fly" explained in this post. Hope this helps. Regards, vitalikssssss
  12. Hi @nuimage, I guess you should consider using Formula fields with CASE logic to display links based on the condition. You can render output of Formula field as HTML with the following field setting: I guess this article might help too. https://howto.caspio.com/tables-and-views/data-types/formula-fields/ Hope this helps. Regards, vitalikssssss
  13. Hi @Farnsbarnes, I have found a way how you can remove chat icon from Caspio Bridge UI if it is still an issue. I have used browser extension uBlock origin for Chrome that allows to pick an element on the web-page and remove it during the rendering. Hope this helps. Regards, Vitalikssssss
  14. Hi @ChrisJackson, I would suggest using a bit different approach. QR code will lead users to the 2nd Datapage first and in case if there is no records under the Warranty_ID the user gets redirected to the 1st Datapage that is the Submission Form. The concept of re-direction if no records found explained in this topic: Hope this helps. Regards, vitalikssssss
  15. Hi @Mitch, Perhaps you will find below tutorial useful. Also, in order to start using REST API you need to have a solid knowledge of any back-end language. I would recommend learning the PHP since in my opinion it is the easiest to learn. There a lot of training materials on PHP available in the web. There is a post with PHP code samples that you may find useful too: Hope this helps. Regards, vitalikssssss
  16. Hi @achatwani, Please try the following JavaScript: <script type="text/javascript"> document.addEventListener('DataPageReady', function (event) { var suffix = event.detail.uniqueSuffix; document.querySelector(".cbFormSelect").addEventListener("change", myFunction); function myFunction(){ var button = document.querySelector(`#searchID${suffix}`); if(button) { button.click(); } } }); </script> Place it in the Footer of Search Form and make sure that you have disabled HTML editor prior to inserting the code. Hope this helps. Regards, vitalikssssss
  17. Hi @MaraMara, Try the following CSS snippet: <style> .cbSearchSpa { display:none !important; } </style> This should hide the Search Form. Regards, vitalikssssss
  18. Hi @Paolo, You may use timeout setting of authentication in order to log-out the user. Time out and redirection – Configure session expiration after user inactivity and provide a page or URL to redirect timed out users. You can set the interval when authentication session will expire, however the log-out will happen only after session expires and user tries to do some action on a form. It will not be possible to terminate the session of the user simply closes a browser tab or browser. If you are looking for automatic log out even if user left the page open, then you can use the following JavaScript: <script type="text/javascript"> document.addEventListener('DataPageReady', ()=>{ setTimeout(()=>{ window.location = "https://xxxxxxxx.caspio.com/folderlogout"; //your logout URL from caspio authentication }, 5000); // duration of session in milliseconds }); </script> Hope this helps. Regards, vitalikssssss
  19. Hi @achatwani, Can you elaborate if you use List-String (datatype) or Listbox (form element)? Regards, vitalikssssss
  20. Hi @mclarkdata, It is not possible to use dynamic fields in Reports like Tabular/List/Gallery because they intended to show more than one record, hence it is not possible to identify from which record the field value should be taken. I guess for your case it is better to set the dynamic labels in authentication table. Regards, vitalikssssss
  21. Hi @Paolo, Caspio offers custom events if you have AJAX enabled. The one that you need to use called "BeforeFormSubmit" it occurs after user clicks on "Submit" button, but unfortunately before the default form validation checks(*required) happens. I can suggest to write all validation needed in JavaScript and use "BeforeFormSubmit" event. Here is documentation: https://howto.caspio.com/datapages/ajax-loading/ Hope this helps. Regards, vitalikssssss
  22. Hi @DesiLogi, It is possible with JavaScript to disable Cascading dropdown, however I would recommend using a Cascading TextField that has an option to disable the input field if only one option returned. If my suggestion does not fit your workflow than you can use the following JavaScript: <script> document.addEventListener('DataPageReady', function (event) { const el = document.querySelector('select[id^="InsertRecordYOUR_FIELD"]'); el.addEventListener('change', ()=>el.disabled="true"); }); </script> Regards, vitalikssssss
  23. Hi @JayDub, Do you have an element with ID "norecord" or you trying to reference the message of Caspio Form? Do you see any errors in browser console? Regards, vitalikssssss
  24. Hi @MaraMara, Well, it might be easier for you just to simple disable the Search form and use Predefined filtering criteria, however if you still need to use a Search form please send me a link to web-page where you have Datapage deployed in PM and I will take a look. Regards, vitalikssssss
  • Create New...