Jump to content


Popular Content

Showing content with the highest reputation since 10/13/2019 in all areas

  1. 1 point
    Hi @RickManolo, Well, for me the easiest way to do this is to use a Virtual field to display "Notes" and make an actual field "Notes" as hidden. I assume that you use Single Record Update or Details Datapage. If the answer for above is yes, you can use the following JS code to concat existing Note with AddNote input after Update of the record. <script type="text/javascript"> document.addEventListener('BeforeFormSubmit', function (event) { let target = document.querySelector('[id*="EditRecordNotes"]'); let n_notes = document.querySelector('input[id*="EditRecordAdd_Note"]').value; let o_notes = document.querySelector('input[name*="cbParamVirtual1"]').value; target.value = o_notes + n_notes; }); </script> Change the name of the fields if necessary, and also make sure you disable HTML editor prior to pasting the code. Hope this helps. Regards, vitalikssssss
  2. 1 point
    Just edit the style of your DataPage, select Labels under Results Page, then Non-interactive Header Labels. You can choose the color under Font Options. You may refer to this documentation regarding Styles.
  3. 1 point
    Ha! I got this working. I missed the step of having to name the ID for the No Results Message in Localizations. If someone else needs to change the header message when no results are found, this is how. I found some clues using this online help page, https://howto.caspio.com/integration/map-mashup/hiding-the-map-when-no-results-are-found/ Go to Localizations and choose the language you're using, and go to #351 No Records Found. Add a custom message if there isn't already one, and put a div tag around it with an ID, mine is "norecord" for this example. Then add another div tag around the header content you want to change and also give it an ID, ID="HOW" for this example. Then add this code to the footer of your Configure Results Page Fields: Match whatever names you give the respective fields to the IDs in the code below. <script type="text/javascript"> if (document.getElementById("norecord")) { document.getElementById("HOW").innerHTML = "THE NEW CONTENT YOU WANT DISPLAYED WHEN THERE ARE NO RECORDS"; } </script> This new content will overwrite whatever content is in the <div> named HOW when the search returns no results. If you're adding HTML to the new content, you need to escape all your quotes or it won't work. I made that mistake. In a link example, it would be: <a href=\"http://mywebsite.com\">Visit my website!</a>
  4. 1 point
    Hello, This also works by using 1/0. I prefer to use this one as Calculated Values in Yes/No fields only accepts these values.
  5. 1 point

    Conditional DataPage Display

    Hey @mgredmond, Check out this post. I think it'll help you out.
  6. 1 point
    @GWBjr Try this expression: 'www.' + Substring([@field:Email], ((Charindex('@', [@field:Email]))+1), Len([@field:Email])) Regards, vitalikssssss
  7. 1 point
    Thanks, this solved the issue.
  8. 1 point

    Expiring Links/URLs

    Hi @kpcollier, Im not sure if my understanding on your inquiry is correct but as I understand, you have a submission Form where you want it to be inaccessible after some amount of time. for example, you have sent client a the link at october 1, this link should no longer be accessible by november 1. However, to those who got the link by october 30 should still be able to access the link by november 30. Is this the workflow you want? I think this could be done via JavaScript but I am not even adept to that, so what I will do is to use another datapage again. (sorry please dont cook me) However, since I do not know your full workflow is, there may come some complication. My idea is to create a auto submit single update page which will redirect you to the proper site if the condition is is right. else, It'll just send you somewhere else. you may refer for this post about the different redirection: However, instead of using the field for email, use the field for the URL where the you want to be redirected. This will be the structure. 1st, create a table containing the following fields: Random ID Name Date sent Date receive Those person whom youll be sending the link should have a record already on this table for the field "Random ID" ,"Name", and "Date Sent". 2nd, create a single update form that is determined by their ID which loaded through external parameters. The link you'll be sending to your customer should be the link for them to access this single update form. In this SUF (single update form, I'll use acronym it because its long) make a virtual field and set it as a calculated field. In here, you will have to make Condition statement in it with some date diff functions. Kinda like this CASE WHEN DateDiff(day, [@filed:Datesent], SysDateTime()) > 30 THEN "www.yourdestinationURL.com" ELSE "www.somewhereelse.com" END Then, you have to create a HTML block containing this JS code: <script type="text/javascript"> if(document.getElementById("caspioform")) { document.getElementById("caspioform").style.display = 'none'; setTimeout('document.forms["caspioform"].submit()',10); } </script> -------------- this code will make your SUF auto submit finally, on the end of your the wizard, set it to redirect to a new page and use the field picker to insert the "[@field:virtual1]" then click finish. the URL you have to send to your clients now are URL for this SUF along with their random id as the parameter. However, this again will consume a datapage. Please dont cook me Im a niceduck not a tasty duck I wish you atleast have the idea. Im not confident with my english since im kinda starving right now, might be affecting my thinking... anyway, I hope this helps you. quack P.S. You may also explain your desire a bit more further and let see what else we can do. I dont know Javascript though.
  9. 1 point
    Please try to change the data type of your PhoneNumber field to Text.
  10. 1 point

    Initiate trigger via REST API

    Yes, records inserted and updated through REST API execute triggered actions.
  11. 1 point
    Hi @Ed727, I am afraid that long text without HTML tags will be rendered as a single line string. Regards, vitalikssssss
  12. 1 point

    Back button in Multi Step Form

    Another way to try it... If you didn't want the first form to actually make a submission to your table, you could set up that first form as virtual fields an then pass the entries to the second form as parameters. The second form would then receive those parameters and enter them into the actual entry fields, which you'd hide (since the user has already "entered" them in the first form). When the user fills out the new fields he/she sees in the second form, the entries for both the first and second form are then entered into your data table in one go. To enable a user to go back to the first form prior to submitting the second form, create the back button as an actual link back to the first form, (or try the back button javascript) and set up the first form to also receive parameters so that it "catches" the same parameters it sent to the second form. This then pre-populates the fields in the first form with the info the user already put in. One complication is ensuring that that you don't run into a situation where old parameters are sitting around and appearing in the first form's field uninvited. You can use the ?cbResetParam=1 when first directing the user to the first form, which will clear any parameters before the user sees the form. However, if you do this, the link from the second form to the first form will need to be a url link that doesn't have this parameter clearing instruction. If you use the javascript "back" button, it's the same as hitting the browser back button and the first form page url will still have the ?cbResetParam=1 which will clear the entries. I have not tested this approach for your use, but I've used a similar setup for another purpose.
  13. 1 point

    Back button in Multi Step Form

    @kpcollier I think of something, However, you would need another single update form. When you press the back button or link, you will be redirected to a single update form which contains the values on your first submission form. Hmmm You may refer to this picture for elaboration. I hope this helps you. QUACK
  14. 1 point

    Failed logins

    No, in the event of a password reset, the lockout time will be cleared.
  15. 1 point

    Embed audio

    You may try the <audio> element. You can use this in an HTML Block using the File field (audio file) as the source. Please take note of the supported browsers and audio format in the given link.
  16. 1 point

    Letter-Style DataPage

    Yes I did! I used it with just a few CSS tweaks and it worked perfectly for my needs. It is what I am currently using. I appreciate it, @SunakoChan!
  17. 1 point

    Letter-Style DataPage

    Hi @kpcollier, Have you tried the format that I have provided you on the other post, they are pretty the same:
  18. 1 point

    Multi Step Form Customization

    Hello @kpcollier You can implement a similar workflow if you create datapages "on the fly". It can be done if your datapages use AJAX. All datapages are AJAX by default. First of all, you should create a wrapper div where you will load a new step datapage. On each step of submission, you need to define the custom event to clear wrapper and load new datapage. This event should be fired on click of next/prev buttons. Example of the function: function createPage() { var dataPage = document.createElement('script'); dataPage.src = 'https://your_domen.caspio.com/dp/your_app_key/emb?param1=' + val1 + '&param2=' + val2; document.getElementById('wrapper').appendChild(dataPage); }
  19. 1 point

    Limit Certain Selections in List Box

    Hello @kpcollier I think that the better idea will be to use Cascading to restrict the amount of values you get in multi-select list box. You can check this article to get familiar with this feature - https://howto.caspio.com/datapages/datapage-components/cascading-elements/ You can use virtual field to define to category. Then you may use this field as the parent field to get appropriate set of options in multi-select list box.
  20. 1 point

    Remove scrollbar on listbox

    Add this code to the header of the screen: <style> .cbFormSelect{ display: inline-block; vertical-align: top; overflow: hidden; border: solid grey 1px; } .cbFormSelect select{ padding: 10px; margin: -5px -20px -5px -5px; } </style>
  21. 1 point
    Java scrip will not get disabled if you disable AJAX, but you need to adjust the code to work. For instance if you are using Caspio event handlers you need to replace them. Refer to this https://howto.caspio.com/release-notes/caspio-bridge-13-0/13-0-impacted-areas/. You need to reverse your code back.
  22. 1 point
    Just want to give an example on this. If you have a Home page with a centralized login and you want all users to login from Home page, when they tried to open another page (e.g. Dashboard page), they will be redirected to your Home page. Below is a use case. You have 3 web pages: 1. Dashboard page (dashboard.html). This has 5 DataPages deployed in it. There will be 5 login forms displayed on it. 2. Profile page (myprofile.html). This has 2 DataPages deployed in it. 3. Welcome page (home.html). This has only one DataPage deployed in it. You want all users regardless on from where they come from to see only one centralized login form (not 5 or 2), and you want all users to be redirected to your Dashboard page after login. You set up a “designated entry page” to be home.html, and “login redirection on success” to be dashboard.html. Then, when non-authenticated user opens dashboard.html, they will be redirected to home.html with one login form, and after successful login they will got redirected to dashboard.html. If non-authenticated user tries to open myprofile.html, they will be redirected to home.html, where they will need to enter login information, and then they will be redirected to dashboard.html (as all users after successful login go to Dashboard page). If authenticated user opens any page, they will not be redirected and will stay on the page they opened.
  23. 1 point

    Auto Search

    Hi @kristina, I believe you need to remove the space between thisDP and .querySelector. There are two instances of this in your code which results to a syntax error (^_^)v In addition, everyone else may also try this version of JS by putting this on an HTML Block in their search form: <script> var thisDP = document.querySelector(`[action*="[@cbAppKey]"]`); thisDP.addEventListener('change', function() { console.log('Changed!'); thisDP.querySelector('.cbSearchButton').click(); }); </script> This will automatically hit search everytime an input value has been changed, then put out-of-focus. Hope this helps. -DN31337!
  24. 1 point

    Auto Submit Dropdown

    <script type="text/javascript"> document.addEventListener("DataPageReady", function(event) { var dropdownvalue = document.getElementById("DropDownID").value; if (dropdownvalue == "THISOPTION") document.forms["caspioform"].submit(); )} ; </script>
  25. 0 points
    Does anyone know how I can send 'Yes' through a query string value? I have an anchor tag that I am using as a button to another datapage. I am trying to send 'Yes' as a parameter to check the box on the landing datapage. EDIT* Live chat and I had a problem with one of the logic sections of a datapage that is included in this workflow. That is why we couldn't figure this out. If you want to send 'Yes' to a field through a query string, you need to use 'Y'.
  • Create New...