Jump to content


Caspio Evangelist
  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by Vitalikssssss

  1. 18 hours ago, Lukas said:

    Hello Vitali

    I tried your JS code, and it is still not working.

    The code works, actually it did also with my old version. If there is 6 lenght size, the JS does its work and insert the value in cbParamVirtual3. If there is 10 lenght size, also JS inserts the value in cbParamVirtual2.

    but I still have to press "submit" button, and enter key does not work.

    I also tried it on diferent types of browser, no success.




    Hi Lukas,

    This part of the logic expression of your code has assign operator "=" i.o. equality check operator "==", hence this block will not execute even if valuesize variable equal 10.

    else if (valuesize = 10) {
    cbParamVirtual3.value = idvalue;
    return true;

    You may try to use this code:

    <SCRIPT LANGUAGE="JavaScript">
    function checkSubmit(){
    var idvalue = document.getElementById("cbParamVirtual4").value;
    var valuesize = idvalue.length;
    if (valuesize == 6) {
    document.getElementById("cbParamVirtual2").value = idvalue;
    return true;
    } else if (valuesize == 10) {
    document.getElementById("cbParamVirtual3").value = idvalue;
    return true;
    return false;


    Hope this helps.

  2. Hi Jeff,


    I can share with you a solution which I have been using for a similar case.

    You will need to create to Datapages.

    1. Submission form - this Datapage will consist of Virtual fields;

    2. Report Form - this Datapage will be filtered based on received from Submission form; 

    Here some settings for each Datapage:

    1. Submission form 
      • Virtual field should pass parameter on exit;
      • Footer of Datapage should have following JS:
      • <script>
        function Replace(){
        var a = document.getElementById("cbParamVirtual1").value;
        document.getElementById("cbParamVirtual1").value=a.replace(/\s+/g, '||cb||');

        Destination after record submit option should be set to "Go to Datapage".  You should specify Report page in Datapage name section;

    2.  Report Form
      • Search form should be enabled;
      • Form element Listbox should be selected for the filtering field;
      • Comparison type "Equal" should be selected;
      • In the Advanced tab of filtering field, you should configure:
        • Allow multi-select - checked; Match any (OR) radio button selected;
        • Receive value or parameter  - checked; Value: "External Parameter" - please specify the name of parameter from Submission form;
      • Use auto-submit JS in the Footer of Search Form;


    Note: You should use "space" to separate searchable values;

    Hope this helps.

  3. On 8/7/2017 at 1:56 PM, Lukas said:

    I have this JS code in footer:

    <SCRIPT LANGUAGE="JavaScript">
    function checkSubmit(){
    var idvalue = cbParamVirtual4.value;
    var valuesize = idvalue.length;
    if (valuesize == 6) {
    cbParamVirtual2.value = idvalue;
    return true;
    } else if (valuesize = 10) {
    cbParamVirtual3.value = idvalue;
    return true;
    return false;
    But for some reason, when there is this code, I can not submit the datapage just by pressing the ENTER key. 
    If I remove the JS code, everything goes just fine.
    where could the problem be? 
    thanx for any help.

    Hi Lukas,

    I believe that you have encountered an issue because you are referencing the Virtual field with incorrect syntax, hence your function returning "False".  

    You may try to use following Javascript:

    <SCRIPT LANGUAGE="JavaScript">
    function checkSubmit(){
    var idvalue = document.getElementById(“cbParamVirtual4”).value;
    var valuesize = idvalue.length;
    if (valuesize == 6) {
    document.getElementById(“cbParamVirtual4”).value = idvalue;
    return true;
    } else if (valuesize == 10) {
    document.getElementById(“cbParamVirtual4”).value = idvalue;
    return true;
    return false;

    Hope this helps.

  4. 12 hours ago, roattw said:

    Hoping you can point me in right direction.  Im struggling on something simple.

    Need users to register.
    Once registered they make an ENTRY to their profile/account: 

    CMEType: multiple choice    |   CMEHours: number   |   Upload: upload file   |   SUBMIT

    They can enter as many submissions as they wish which will build in a table.  Im having trouble getting a logged in user to see only their entries once logged in and for the main table to distinguish between users.

    RecordID: autonumber/unique
    Email: username
    Password: Password

    \Registration works fine but having trouble tying a new submission to thier account.  

    Hello roattw,


    Perhaps you can utilize Caspio Bridge feature named Record-Level-Security.


    Hope this helps.

  5. Hi Everyone,

    I would like to share a solution on how to generate geolocation coordinates on Update/Details datapages.

    My solution based on following HowTo article:


    Please use this JS instead of the one from step #3 of above article:

    </div><script type='text/javascript'>
    var lat_id = 'EditRecordlat';
    var lng_id = 'EditRecordlng';
    var address_id = 'EditRecordAddress';
    var city_id = 'EditRecordCity';
    var state_id = 'EditRecordState';
    var zip_id = 'EditRecordZip';
    var wrapper_id = 'cbwrapper';
    var msg1 = 'Please input a valid address';
    if(typeof jQuery != 'undefined'){
    var cb_geocoder = cb_geocoder = new google.maps.Geocoder();
    $('#'+wrapper_id+' input[id=Mod0EditRecord]').click(function(e){
    var add = $('#'+address_id).val();
    var city = $('#'+city_id).val();
    var state = $('#'+state_id).val();
    var zip = $('#'+zip_id).val();
    if(!add || !city || !state || !zip){
    var full = add +','+city+','+state+' '+zip;
    cb_geocoder.geocode({address: full}, cbCallBack);
    document.write('This Datapage require Standard Caspio Deployment for full functionality.');
    function cbCallBack(locResult){
    if(locResult != "" && locResult.length>0){
    var lat1 = locResult[0].geometry.location.lat();
    var lng1 = locResult[0].geometry.location.lng();
    lat1 = Number(lat1);
    lng1 = Number(lng1);
    $('#'+wrapper_id+' form').submit();


  6. On 7/30/2017 at 6:52 AM, gbecker said:

    Thank you Vitalikssssss.. I will give this a try. One question, how to I automate the process of adding new signups to the Lookup Table. Is there a way to add someone to the Lookup after they have signed up?




    Please provide the details of your workflow.

    Perhaps, you can use GUID datatype to generate the promotion code automatically in lookup table.

    GUID A system-generated and globally-unique identifier value, typically used as a complex unique value.



  7. On 7/24/2017 at 3:08 PM, Student2017 said:

    I have a table with student details and a checkbox for approved status. 

    The approved checkbox is editable in the Tabular Report and if the admin updates the student by approving him/her a notification email is sent.

    Is there a way in which the notification email will be sent only if the admin approves the student (marks the checkbox)? Because right now the notification email is sent even when the student's status is updated to be unapproved from approved.

    Any help would be appreciated.



    Hello Student2017,

    I am sure that desired workflow can be achieved on the Details page. 

    You should add a Virtual field which will use Form element "Checkbox" and input email address in Field Option section named "Value then checked:".

    You will be able to use this Virtual field in notification email recipient field"To:".

    Hope this helps.

  8. On 7/27/2017 at 7:49 AM, gbecker said:

    On a submission form I have a required field that needs to contain a code from the sponsor of the person signing up. I have made the field required but I also need to make sure it is valid by checking the database to make sure it already exists. What is the best way to accomplish this?


    Hello gbecker,

    I would suggest creating a separate table with promotion codes and use this table as a Lookup table in your Submission form.

    You should add a Virtual field to your Submission Form and use Cascading form element in order to retrieve a value from the Lookup table.

    You may use HTML blocks to hide the Virtual field from your users as described in this article. You can use my JS code example below as a reference:

    <SCRIPT LANGUAGE="JavaScript">
    function myFunction(){
    var v = document.getElementsByName("cbParamVirtual2")[0].value;
    return true;
    else {
    alert("Wrong code");
    return false;


  9. On 7/18/2017 at 8:25 PM, LisaMee said:

    I am wanting to pass a customers mobile phone number to twilio via zapier. However twilio wants it in a very specific format. it needs the country code then the mobile number without the zero.

    So my customers will enter the number as 075xxxxxxxx

    and i need it as 4475xxxxxxx

    can anyone give me the javascript in order to do this? Thanks

    Hi LisaMee,

    I would suggest using Formula field to modify users input.

    Hope this helps.

  10. On 7/14/2017 at 10:10 PM, wdandrews said:

    Where can I change the font size of the NO RECORDS FOUND message? Thank You!

    Hi wdandrews,

    You can change the font size in Style section (Screenshot #1).

    You can also change the font size of the message in Localization setting (Screenshot #2).




    Screenshot #2.JPG

    Screenshot #1.JPG

  11. 19 hours ago, telepet said:

    I came across this article recently-- 6 Security Policies to Customize in Your Caspio Account  -- and saw the following:

    I can't seem to find instructions anywhere for setting up this kind of functionality.  By chance, can someone point me in the right direction?

    Hello telepet,

    I am afraid that Caspio offers this as premium feature named SAML. It is available only on Corporate level subscription.

    I would suggest designing your app in the way which will force the user to change his password in X number of days.

    You can have a date field in authentication table which will store information about the date of password expiration and JS condition to check if password expired or not. Perhaps you can direct the user to Password recovery form, so he could change this password.


    Hope this helps.


  12. 9 hours ago, ezIQchad said:

    I want to see a list of available variables I can use here or there.

    What specifically brought me to this question were File Size error messages and a Date Format error messages that are vague and nondescript.


    I know I can change the wording, which helps, but I'd like to use the cool variables like "Are you sure you want to delete %n records" in the rest of my error messages.


    Does anybody know how to use these cool variables?


    Hi ezlQchad,

    Please note that each variable is assigned to the particular error message ("Element" column).

    I am afraid that you will not be able to use variables in different messages.






  13. 18 hours ago, wdandrews said:

    How can I force the login form to request new credentials each time the page is pulled up on the screen? Currently what is happening when a user hits the login page it remembers the last login and takes the user to the last page. Our customer reps need to be able to access different pages depending on the customer calling in. 

    Hello wdandrews,

    Have you tried to change  Timeout and redirection timing settings?

    • Time out and redirection – Configure session expiration after user inactivity and provide a page or URL to redirect timed out users.

      Hope this helps.


  14. 15 hours ago, ezIQchad said:


    I'm tying to improve my app's error messages using Localizations.

    I see on some error messages there are variables or parameters that provide the user with some very valuable information.

    • Value cannot be shorter than %s characters.
    • Value cannot be larger than %n characters.
    • Are you sure you want to delete %n records.
    • %p authorization failed.
    • Cannot redirect to %p
    • etc.

    Does anybody know how to use these, or where I can find a list of the variables we can use and how to?



    Thanks and ThinkEZ

    Hi ezlQchad

    You can define listed variables within Localization settings.

    Please clarify how you would like to use these variables?   

    I have a doubt that these variables can be customized, expect to change their order in the message text.





  15. On 6/9/2017 at 8:02 AM, Scott said:


    I am using zapier to push new records across to Twilio and send an SMS. With this I have had success.

    However when updating records I only want records transferred across to zapier and twilio to send a SMS dependent upon changing a one certain field in the record. Not all records that have been updated.

    Any suggestions???





    Hi Scott,

    Perhaps you can utilize Zapier Filter after the trigger event.

    You can find more about Zapier filters via this link.

    Hope this helps


  16. Hello NikkiC,

    I doubt that such workflow can be created in Caspio Bridge, since all lookup values for dropdown or listbox should be stored in separate records, hence you will not be able to create a bunch of options within the single record.

    Check this solution from HowTo:


    Hopefully, it will fit your requirement. 





  17. On 6/23/2017 at 3:41 PM, ksp70 said:


    I've a quite simple requirement. Based on the value of an integer field I need a certain image to be shown on the datapage.

    Like this: IntegerFieldValue = 1 -> Image1 to be shown, IntegerFieldValue = 2 -> Image2 to be shown etc. :-)

    I've played around with formula fields and it is easy to build the right text string - but this string won't behave like a url/path to the image.

    Any idea how to solve this? 

    Hello ksp70,

    I would suggest storing images outside of Caspio and use URL link to outside stored image in Formula field.

    Hope this helps.

  18. 16 hours ago, acslakeland said:

    I already have this selected however 

    a) that doesn't do what i need because i need to be able to see what user is accessing what information therefore only 1 username can be associated with each ip address

    b ) this doesn't work in my situation because my database is embedded into an i frame so the authentication is only on the first screen however once you login you are redirected to other pages  so i would be unable to terminate the session because they technically arent logged in at that point, i just collect there ip address for each thing they select so i can interpret  the information.

    Hi acslakeland,

    I would suggest adding a new field Text(255) to your table which you use for Authentication.

    This field will store an IP address value upon user registration.

    You should make this field hidden and in advanced tab use System Parameter to record user IP address.

    In your Authentication settings you should include this field to the login screen and in Advanced tab select:

    Receive value or parameter

    Please use the same System parameter called client IP.

    Hope this helps!

  • Create New...