Jump to content

Mathilda

Caspio Rockstar
  • Content Count

    464
  • Joined

  • Last visited

  • Days Won

    49

Posts posted by Mathilda

  1. On 8/3/2017 at 3:31 AM, dluvin255 said:

    i have a primary key ID and several other fields: locatio, customername, crew, etc  and a field called datecompleted. when the date completed field has a value I want to change all the other field to a color "red"

     

    any help would be appreciated. Isuck at coding.

    What type of the datapage you use? You may have a look at this post in case of using results page 

  2. On 8/10/2017 at 3:52 PM, amorano said:

    Hi Everyone,

    I'm very much a newbie on the Caspio platform, but I've been making great strides.  I have a datapage created that has two columns that can have a value of an "N".  I would like to create some form of code to allow the value to blink, if it is equal "N".  Is that possible and can anyone assist me in accomplishing this?

    Thank you!

    -Anthony

    Hi Anthony,

    welcome to forum :)

    Have you considered changing the background color of form element? You may want to check this post, I provided code for a drop-down on a submission form.

    What form element do you use? 

  3. On 7/25/2017 at 0:17 AM, apatrick said:

    Hello-

    I'm trying to apply conditional formatting to a drop-down box in a Submission Form DataPage. For example, when the user selects "Fail" from the drop-down box, I want the background of the box to turn red.

    Here's the code I tried to use without success. I pasted this into an HTML block directly after the drop-down box.

     

    <script>

    var select = document.getElementById("InsertRecordPrint_Asmt_Rec");

    select.onchange = function(){
        var selectedString = select.options[select.selectedIndex].value;
        if (selectedString == "Fail") {
    document.getElementById("InsertRecordPrint_Asmt_Rec").style.color = "red";

    }

    Else {
    document.getElementById("InsertRecordPrint_Asmt_Rec).style.color = "black";
    }}

    </script>

     

     

     

    Any help would be greatly appreciated.

     

    I edited your code a little bit. Try using code below:

    <script>
    function myfunc(){
    var select = document.getElementById("InsertRecordPrint_Asmt_Rec").value;
        if (select == "Fail") {
    document.getElementById("InsertRecordPrint_Asmt_Rec").style.background = "red";
    
    }
    else {
    document.getElementById("InsertRecordPrint_Asmt_Rec").style.background = "black";
    }
    }
    
    document.getElementById("InsertRecordPrint_Asmt_Rec").onblur=myfunc;
    
    </script>
    

    Hope that helps :) Cheers!

  4. On 7/29/2017 at 9:09 PM, sbright420c said:

    I'm trying to create a page to manage users and groups.

     

    I have a group table:

    group id,

    group name,

    group description, etc.

     

    And a user table:

    user id,

    first name,

    last name,

    group id, etc.

     

    I created a page that shows a list of all users in the current group based on the group id parameter. 

    Below that is a list of all of users that have a blank group id (They are not in a group yet).

     

    I would like to select multiple users from the list without group ids, and click Add to Group. Can you suggest the best way to do this? I tried to use Bulk Edit, but the group id is a random number and the user won't know which group to populate. Ideally, rather than popping up a dialog box, I would like the bulk edit to read the group id parameter and do the update. 

     

    Thank you!

    As far as I understand, you pass Group ID to the datapage, you may receive this parameter in a field for bulk edit mode. 

    This way, when bulk edit is enabled, you will see passed value in the field. 
    Does it work for you?

  5. 1 hour ago, DaeBo said:

    I need a solution to show a link once 30 days has passed since the last record update.

     

    First, I am using a calculated field to calculate the number of days that has passed since the date of Last Updated. Then, I have a condition that if the days passed are less than 30 days, show nothing. If the days passed are greater than 30 days, show a link (it's a link to edit the record).

     

    
    <script>
    if ([@calcfield:1#] < 30) {
    document.write(blank);
    }
    else{
    document.write('<a href='https://c4ect907.caspio.com/dp.asp?AppKey=e5295000169646ebdc934a6e96d4?Keyword_ID=[@field:Keyword_ID]'>edit</a>');
    }
    </script>

     

    Try using double quotes for the URL of the datapage:

    "https://c4ect907.caspio.com/dp.asp?AppKey=e5295000169646ebdc934a6e96d4?Keyword_ID=[@field:Keyword_ID]"
     

  6. 22 hours ago, telepet said:

    I'm setting up an automatic email upon completion of a form.  One of the fields in the form is a list-string data type.  I'd like to provide that user-inputted data in my automatic email but that specific column is not listed as option in the Insert ParameterData Source Field options.

     

    I have been able to manually type in my list-string data column.  However, the results I get are only the numbers of string in my list, and not the strings themselves.  

    
    [@field:myListStringColumnName]

     

    Any ideas whether it's possible to include within the body of an automatic email the user provided data from a list-string data type column?

    This datatype cannot be used as a parameter. However you may use java script and grab data from the list datatype and place into the virtual field, then include virtual field in the email body. 

    Have a look at this post. The same script can be used for this case as well.

    Cheers!

  7. 7 hours ago, ChristineM said:

    Can anyone direct me to a blog or article on deploying my Caspio forms to my office 365 online / sharepoint site?  Anything I try to embed on the page gives me some sort of error message,  Have tried multiple methods to no avail.  I have enabled caspio.com in my security settings.  

    Try using .net deployment method. You may also add your subdomain to the list of trusted sites.

  8. On 8/11/2017 at 8:15 PM, cg001 said:

    I have two tables - accounts and invoices.  I want to create a tabular report where each record contains the sum 
    of AccountBalance by AccountType and uses calculated fields to return data from the invoice table.  How do I create a tabular report that is first grouped by AccountType so that I can eliminate multiple rows and provide a higher level report?  Can this be accomplished with a view of Accounts?


    ACCOUNTS
    Account#    AccountType    AccountBalance
    1                  1                          50
    2                  1                          50
    3                  2                          75

    INVOICES
    Invoice#    Account#    InvoiceTotal
    1                1                    10
    2                2                    20
    3                3                    10

    Desired Report
    ------------
    AccountType    AccountBalance    Invoice        RemainingBalance
    1                        100                           30                70
    2                        75                             10                65

    Instead of
    ---------
    AccountType    AccountBalance    Invoice        RemainingBalance
    1                         50                            30                20
    1                         50                            30                20
    2                         75                            10                65

    I have a few ideas. The first one -  you may try using pivot table (if it's available for your plan)

    another Idea: create a report datapage using table where account type is a unique value, then get other values (account balance, invoice) using sql queries in calculated fields.

    Hope that helps

  9. On 8/11/2017 at 4:15 AM, tscmedlake said:

    I'm am trying to conditionally display the Update button on a Details form based on the toggle of a boolean check box on the data page.  The java scrip I have in the footer looks like this:

    <script type="text/javascript">
    /* 1 - get the Yes/No field */
    var cb_boolean = '[@field:BO_Approved]';
    if (cb_boolean == 'No') 
    {
    /* Hide The Update button*/
    document.getElementById("Mod0EditRecord").style.visibility = 'hidden';
    } else { 
    /* Show The Update button*/
    document.getElementById("Mod0EditRecord").style.visibility = 'visible';
    }
    </script>

    The script does hide the button but it is not revealed when the Checkbox (BO_Approved) is checked.  What am I missing.

    Thanks in advance

     

    You may have a look at this post. I use script from that post in my datapage and it works like a charm

  10. On 8/10/2017 at 9:09 AM, KnowitallNZ said:

    Hi,

    I am making a form in caspio where I need the user filling out the form to click yes or no if they click yes then it will display the same fields again so they can enter another invoice details again but if they click no then it doesn't show it.

    Thanks in advance,

    Ajay

    Hi Ajay,

    You may have a look at this solution. Try to create a virtual fields and for value Yes - specify an URL of you submission form, for value no you may e.g. redirect user to the home page. 

  11. On 8/13/2017 at 9:12 PM, Rising said:

    Hi

    I am a newbie to Caspio and am having a problem with my datapages that i cant seem to be able to fix. I created an update datapage which I then embedded into my website. The table shows with  extra borders. I have tried modifying the style to no use. Im embedding the datapage into wordpress. Can someone tell me how to remove these unwanted borders. 

    Hi,

    Try placing css into the header of the datapage:

    <style>
    #caspioform tr
    {
    border: none !important;
    }
    #caspioform td
    {
    border: none !important;
    }
    </style>

    You may also place additional elements if needed.

    Hope that helps!

     

  12. On 8/10/2017 at 3:06 AM, DavidShugar said:

    Hello,

    I am wondering if it is possible to have a cascading dropdown menu that is able to filter by multiple parent fields?

    For example, I am working with records, each with their own "Name", that cover both "Sector" and "State". My goal is to have the record Names cascade by both the selected Sector and State. Currently, after the user selects "Sector", a cascading dropdown menu populates the available States available within that Sector. The available records Names also cascade by "Sector", but not by Sector and State. Thus the auto-populated records Names are shown across all States, not just the State and Sector together.

    In an ideal world, I would like to filter the Names cascading autocomplete with more than two different parent fields. 

    Any thoughts on how to do this?

    Best,

    David

     

     

     

    Hi David, 

    As far as I know only one field can be set as parent. Why don't you want to have one more cascading step with State?

    User selects Sector, then State and values in Name field will be filtered according to selections in those fields.

  13. On 8/14/2017 at 3:00 AM, roattw said:

    Or maybe I could alter the approach/question.

    If you had only one group of users that self register, then login to enter weekly form data that appends to thier account as a new row of form data, and users could only see their data, how best to set it up?

    Regarding hiding multiply login forms, you may have a look at this article

    Since you use grouping, "inline insert" cannot be enabled for your report. However, if grouping is not very important for you, you may try disabling groping and enabling  inline insert. IMHO this is best option for this case, because you can insert data directly on report

  14. On 8/9/2017 at 4:02 PM, jsgarlata said:

    Hello, I have a database that is keeping attendance logs for students.  The attendance table basically consist of student name, student ID, and date attended.  I would like to pull up a list of all students and their last day that they attended (this would be the maximum date attended).  I wish to only see the student's last day, not all the records for that student.   so ultimately, my report would look like:

    John Jones     1/1/17

    John Smith    3/12/17

    Joe Smith     2/28/17

    I cant seem to find anywhere to do this.  

     

    Thank you in advance

     

    Hey, I would recommend creating a report datapage using table with students (where each record is unique). Then insert calculated field on results page and run SQL query like that:

    select Top(1) CONVERT(VARCHAR(32), Datefield, 1) from table_name where studentID = target.[@field:studentID] Order by Datefield Desc

  15. On 8/2/2017 at 9:03 PM, joscetre said:

    I need to run some script when a record is deleted from a Details Page by the user.  So I have hidden the regular Delete button and substituted the code below:

    <button onclick="DeleteFunction()">Delete</button>

    <script>
    function DeleteFunction()
       {
       document.getElementById("Mod0DeleteRecord").click();
       }
    </script>

    However, when the substituted button is clicked, the confirmation box opens only momentarily, then closes by itself without actually deleting the record!  I believe this used to work properly, so something may have changed on the Caspio end. (Note that if I unhide the regular delete button and click on that, it works fine.)

    Does anyone have experience of this happening?

     

    Try using HTML of delete button, provided here

    Hope that helps

  16. On 8/1/2017 at 7:54 AM, RussellParker said:

    I was looking at this more and wondering if I needed to change the "Value1_1" and "Value2_1" strings to be specific to the Name or ID of the Controls on my Search Page, but I did not see anything which looked like what thus might be.  Then I found this in the "JavaScript TipsCaspio Form Elements" help article. 

    Search Forms

    • Text Field/Text Area/Dropdown/Checkbox/Listbox/Hidden:

              -   ValueX_Y
              -   X is the form element order, which starts at 1 and increments based on the order of the element in the form.
              -   Y is the criteria. It starts at 1 and increments based on criteria order. It is always 1 if the field has no extra criteria.

    So this suggests to me I should not call my Search Fields "Controls"... I should call them "Elements".  Further they are not referenced by specific name, but rather by their position in the Form.  So I have two Search Fields, both which are Text Fields... "Registration" and "Name".  In this order a call to:

      document.getElementById("Value1_1").value;

    ...should theoretically get me the data entered for "Registration" although I do not se how to tell what the available "criteria" are.  I have yet to get this to work though.  As far as I can tell though the moment I add the "document.getElementById(..." call to the code it appears to short-circuit.

    If I have the following...

     function check()
     {
       window.alert("1");
       window.alert("2");
     }
     document.getElementById("searchID").onclick=check;
     
    Then when I click "Search" I get a pop-up box with "1", then another with "2", and it goes to the Results Page.
     

    If I have this instead...

     function check()
     {
       window.alert("1");
       window.alert(document.getElementById('Value1_1').value);
       window.alert("2");
       window.alert(document.getElementById('Value2_1').value);
     }
     document.getElementById("searchID").onclick=check;
     
    Then I get a pop-box with "1" and then it goes to the Results Page.   It hits the "document..." code and goes *POOF*
     
    Guessing this is just bone-head simple and I am just a little to ignorant of things to understand what I am doing wrong.
     
    Russ
     

    Hi Russ, I can check your datapage if you don't have sensitive info there.

    Please paste my script without any changes into the footer  and send me the URL of the datapage.

  17. 16 hours ago, volerain said:

    Dear Caspio Master,

     

    In the input forms, could I do input once and the value will be recurring every x periodic ?

    For example, every Tuesday, I just need to input value 100 on the first week and will be recurring for every weak for that month ?

     

    Thanks

    As far as I know this kind of triggers can be done on the server side only. You may contact this team, they should be able to  implement this workflow

  18. On 7/30/2017 at 8:04 AM, LuluSW said:

    Caspio minds

    I have a Tabular report and want to add a button that once the user clicks it will pass information from the tabular report and insert in another table.  

    I saw an example where someone put an insert sql statement on a tabular report that would add values as parameters to another table.  But I can't find this example.

    Any help will be appeciated

     

     

    Hi, you just need to pass parameters to autosubmit datapage. This post should be helpful

  19. On 7/27/2017 at 7:06 AM, SongLian said:

    Hi Mathilda,

    Can your solution be modified to do send notifications to multiple email addresses? I was trying out your solution, but realised that my email address is using text and not list datatype. 

    What I'm trying to accomplish is to email to all the employees of selected companies based on user selection. However, Caspio does not support this and they recommended me to use bulk editing as a work around, It works but it requires extra steps and also extra datapages. I need a more elegant solution for my project.

    Thanks

     

    Email to multiple people.JPG

    Hi, I took a solution from this post  and added a small script which will replace commas with semi column. 

    Here is script which should be in the header:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    
    <script>
    
    window.onload = function multiselect() {
    
    var a = document.getElementsByTagName('select');
    
    var index;
    
    for (index = 0; index < a.length; ++index) {
    
              if (a[index].size!==0) {
    
        a[index].multiple=true;
    
    
              }
    
    }
    
    }
    
    </script> 

    And the following script should be in the footer:


     

    <script>
    
    $('[name=cbParamVirtual2').change(function() {
    
    $('[name=cbParamVirtual3').val($('[name=cbParamVirtual2').val())
    
    
    });
    </script>
    <script>
    function replace(){
    
    var res=  document.getElementsByName('cbParamVirtual3')[0].value;
    
    document.getElementsByName('cbParamVirtual3')[0].value=res.replace(",", "; ");
    
     
    }
    document.getElementById("caspioform").onsubmit=replace;
    </script>

    In my script Virtual field2 is a cascading element, Virtual field 3 is an additional field which should be used in the To field in email.

    Hope that helps

  20. 5 hours ago, RussellParker said:

    I have built a "Search and Report" data page with several fields available for search added under "Configure Search Fields".  Each of the fields has a minimum number of characters and is a "Contains" match.  This works perfectly if data is entered in any of them.  The problem is that if no data is entered in ANY of the Search Fields it brings back the entire data set.  I do not want to make any specific field required, I just one at least one of the Search Fields to have had a value entered to search for.  Said another way I want to disallow the "All Blanks" case.  Any thoughts?  Thanks is Advance... Russ

    Hi Russ, welcome to forum!

    Try inserting the following code in the footer of your search form:

    <SCRIPT LANGUAGE="JavaScript">
    
     function check()
     {
    var first= document.getElementById("Value1_1").value;
    var second = document.getElementById("Value2_1").value;
       
    if (( first.length  === 0) &  ( second.length  === 0))
    {
    window.alert("Please enter a value in a field");
    return false;
    }
    }
     document.getElementById("searchID").onclick=check;
    
    </SCRIPT>

     

  21. 14 hours ago, lamsung said:

    I am trying to remove a field from a details page when the field is empty. I have read several posts seeking similar funtionality but I still have not learned the secret javascript handshake on how to make this work. My understanding is that style.display for a field that is set to "none" means the field will no longer take up space on the details page as opposed to only being hidden. Here is what I have:

     

    /* See if Comments1 field contains a value*/

    var com1 = '[@field:Comments1]';

    if (com1 == '')

    {

    "Insert javascript code here to set display of Comments1 field to none"

    }

     

    I know the if() part of the above statement works because I can display a link when the field is empty (which I did for testing that part of the code). However substituting in code to set the field display to "none" has not been successful. Here is what I have tried so far...

    1) document.getElementById("EditRecordComments1").style.display="none";

    2) document.getElementById(\"EditRecordComments1\").style.display=\"none\";

    3) document.getElementById("[@EditRecordComments1]").style.display="none";

    4) document.getElementById("Comments1").style.display = "none";

    I read one post that indicated an event (like onload) is needed to trigger javascript code but that didn't seem to be the case since my test code to make a link appear worked fine without referencing any specific event in the javascript. Also, if I am off-base on "none" preventing the affected field from even taking up space on the html details page, please let me know.

    Thank you!

    Why don't you use rules? You can add a virtual field to your details page and make this field receive value from the comments field.

    Then create a rule: when virtual field is blank hide field Comments.

    Please note, rules can operate only with editable fields, therefore I would recommend using the second solution from this article to hide the virtual field

    You can read more regarding rules here

×
×
  • Create New...