Jump to content

Vitalikssssss

Caspio Rockstar
  • Content Count

    494
  • Joined

  • Last visited

  • Days Won

    49

Posts posted by Vitalikssssss


  1. Hi @Mikey,

    I am afraid that this feature is not available in Caspio and I doubt that you will be able to find and easy workaround.

    I have found a feature request in Caspio Ideabox where you can give your vote for this feature.

    Alternatively, you may consider using shareable Google Sheet where users can copy/past the data and Zapier to sync this spreadsheet with Caspio.

    Please note that only Premium account in Zapier allows to have near real time sync with Caspio. Free account has 5 minutes interval to perform a Zap.

    Hope this helps.

    Regards,

    vitalikssssss

     

     


  2. Hi @mgredmond,

    Caspio Style has a default settings for the width of the Datapage set to 100% which overrides the field width settings. 

    You need to check the width of the container where you placed in your CMS  and adjust width of the Datapage accordingly.

    Hope this helps.

    Regards,

    vitalikssssss 


  3. Hi @Ras2019,

    That is true, you cannot pass parameters via Bridge session from Result page.

    Quote

    Alternatively, I have considered to only pass non-sensitive parameters e.g. the Random ID, Product names etc. and then based on that, populate sensitive date to fields in the web form based on a SELECT statement getting the data from the table where the results originate from.

    I think this is the best option for your case.

    Regards,

    vitalikssssss


  4. Hi @DonateGoodStuff,

    I believe you have used legacy format embed code for deploying your Datapages. 

    Caspio has introduced Asynchronous loading of their Datapage a year or so ago and they also changed the format of embed code.

    Async loading gives a better performance for Datapage loading.

    Some Javascript events such as document.write(), onload() is not supported with Async loading.

    I assume that you have some Javascript (perhaps from TechTips section in HowTo) in either Header, Footer, HTML blocks which has described Javascript event handlers.

    I can suggest contacting Caspio Support who can help you to resolve this type of issues.

    Regards,

    vitalikssssss


  5. Hi @GWBjr,

    You may need to utilize Formula field in table where you store user information (auth. table) in order to sub struct domain name and add global domain.

    You can use the following expression in the Formula field:

    'www.' + Substring([@field:Email], (Charindex('@', [@field:Email])), Len([@field:Email]))

    Finally, you can use this field in Record-Level-Security in order to accomplish your workflow.

    Regards,

    vitalikssssss

     

     


  6. Hi @ManonG,

    You can use the following script in Datapage Footer:

    <script type="text/javascript">
    document.addEventListener('DataPageReady', function (event) {
    	document.querySelector('[id*=InsertRecord*YOUR_DROPDOWN_FIELD*]').addEventListener('change', function() {
            let item = document.querySelector("select[id='InsertRecord*YOUR_DROPDOWN_FIELD*']").value;
            document.querySelector("input[id='InsertRecord*YOUR_TEXT_FIELD*']").value = item;   
        });
    });
    </script>

    Please note that this JS code designed for Submission Form Datapage. Also, make sure you disable HTML editor and change *YOUR_DROPDOWN_FIELD* & *YOUR_TEXT_FIELD* to your actual field names.

    Hope this helps.

    Regards,

    vitalikssssss


  7. Hi @Ras2019,

    The way you trying to refer to Virtual fields is incorrect. 

    I would recommend using query selectors with contains type of match.

    This code should work fine:

    <script type="text/javascript">
    
    document.addEventListener('BeforeFormSubmit', function(event) {
    
    var Input1 = document.querySelector("span[id^='cbParamVirtual1']").innerHTML;
    
    var Input2 = document.querySelector("span[id^='cbParamVirtual2']").innerHTML;
    
         if (Input1 === 'WARNING' || Input2 === 'WARNING') {
    event.preventDefault();
    
    alert('Enter acceptable volume!');
    
    
    } else {
    
    document.forms["caspioform"].submit();
    
    }
    
    });
    </script>

    Regards,

    vitalikssssss


  8. Hi @rgiljohann,

    My previous solution is a bit outdated because Caspio introduced their built-in event handlers. 

    Please try the following updated script:

    1. Datapage Header:

    <style>
    #doublescroll
    {
      overflow: auto; overflow-y: hidden; 
    }
    #doublescroll p
    {
      margin: 0; 
      padding: 1em; 
      white-space: nowrap; 
    }
    </style>
    
    <div id="doublescroll">

    2. Datapage Footer:

    </div>
    <script type="text/javascript">
    function DoubleScroll(element) {
        var scrollbar = document.createElement('div');
        scrollbar.appendChild(document.createElement('div'));
        scrollbar.style.overflow = 'auto';
        scrollbar.style.overflowY = 'hidden';
        scrollbar.firstChild.style.width = element.scrollWidth+'px';
        scrollbar.firstChild.style.paddingTop = '1px';
        scrollbar.firstChild.appendChild(document.createTextNode('\xA0'));
        scrollbar.onscroll = function() {
        element.scrollLeft = scrollbar.scrollLeft;
        };
        element.onscroll = function() {
        scrollbar.scrollLeft = element.scrollLeft;
        };
        element.parentNode.insertBefore(scrollbar, element);
    }
    
    
    
    
    document.addEventListener('DataPageReady', DoubleScroll(document.getElementById('doublescroll')));
    </script>

    This should help.

    Regards,

    vitalikssssss


  9. Hi @CarbonArchitect,

    It is possible to place top menu bar with a help of JS code snippet from below:

            <script type="text/javascript">
    
                function movePA(event) {
                
                    var pa = document.querySelector("table[id^='PageActionsCtnr']");
                    var nb = document.querySelector("table[id^='NavigationTableBottom']");
    
                    nb.parentNode.insertBefore(pa, nb.nextSibling);
                
                }
    
                document.addEventListener('DataPageReady', movePA);
                </script>

    Place above code into Datapage footer (ResultSet section). 

    Make sure you you disable HTML editor.

    Hope this helps.

    Regards,

    vitalikssssss

     

×
×
  • Create New...