Jump to content

Search the Community

Showing results for tags 'javascript'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Caspio Bridge
    • General Questions
    • Caspio JavaScript Solutions
    • Tables, Views and Relationships
    • Import/Export and DataHub
    • DataPages
    • Deployment
    • Security, Authentications, Roles, SAML
    • Styles and Localizations
    • Parameters
    • API and Integration
    • Calculations and aggregations
    • User JavaScript and CSS Discussions

Found 144 results

  1. Hellow everyone, I have implemented a sign in form an button in html: <ons-button onclick="login()">Sign in</ons-button> The following Javascript is as follows: var token_ var userName = "clientID"; var passWord = "secretKey"; // app clientSecret var caspioTokenUrl = "https://xxx123.caspio.com/oauth/token"; var request = new XMLHttpRequest(); function getToken(url, clientID, clientSecret) { var key; request.open("POST", url, true); request.setRequestHeader("Content-type", "application/json"); request.send("grant_type=client_credentials&client_id="+clientID+"&"+"client_secret="+clientSecret); // specify the credentials to receive the token on request request.onreadystatechange = function () { if (request.readyState == request.DONE) { var response = request.responseText; var obj = JSON.parse(response); key = obj.access_token; //store the value of the accesstoken token_ = key; } } } getToken(caspioTokenUrl, userName, passWord); var login = function CallWebAPI() { var params {"ClientID" : "username", "ClientSecret" : "password"}; var request_ = new XMLHttpRequest(params); request_.open("GET", "https://xxx123.caspio.com/rest/v1/tables", true); request_.setRequestHeader("Authorization", "Bearer "+ token_); request_.send(); request_.onreadystatechange = function () { if (request_.readyState == 4 && request_.readyState == 200) { var response = request_.responseText; var obj = JSON.parse(response); } } } It still does not work for me and I'm not quite sure what I am doing wrong. Any help is very much appreciated! Thank you all!
  2. I have found that if I manually click on a dropdown that is a parent to another cascading dropdown, the cascading dropdown works. But when I try to use javascript to change the value of that parent dropdown, I find that it does not kick off the cascading activity of the cascading dropdown that is connect to it. Strangely, the value changes in the parent dropdown (so it works), but it doesn't impact the cascading dropdown. The js code I am using to change the parent dropdown value is: document.getElementsByName("cbParamVirtual1")[0].value="2012"; which successfully updates the value, so I know the JS works. But it doesn't impact the cascading dropdown. Is there an onchange event that is misfiring? Any suggestions?
  3. I want to insert a the next 30th of June as a field value in a online form, based on the entered start date of a contract e.g. is the start date is earlier than 30 June of the current year, the value I need is 30 June this year, if the start date falls in July or later, is should be 30 June next year. (I need this date to do further calculations for milestone periods and budgets) I have tried to modify a few scripts dealing with related issues, but I cannot seem to make it work for this problem, I get either the wrong date format or no calculation/result at all Any help sincerely appreciated.
  4. Hi there, I am using the standard autosubmit script to send users to one form using parameters to auto fill it and autosubmit it and then on to another form. However some users get stuck in a loop if a field in the first autosubmit form are already in the table, and they never get to the second form and don't see the error message. Is there a way to write into this script "if field already exists in table [users] DO NOT autosubmit, instead show an error message? <script type="text/javascript"> if(document.getElementById("caspioform")) { document.getElementById("caspioform").style.display = 'none'; setTimeout('document.forms["caspioform"].submit()',1000); } </script> Many thanks Nikki
  5. Hi all, I'm trying to do authentication in a modal window. It works fine on the happy path, as in the user inputs valid credentials . However, if a user puts in bad credentials or no credentials, the page refreshes and in order to see the error message, you must click the login button again. This is less than optimal UX. I have tried all the options in the standard Caspio feature set, and still can't seem to redirect to the modal window with the error message displayed on fail. I'm wondering if there's a way to achieve this behavior with javascript, or a clever workaround. Thanks.
  6. I am trying to pass the value from specific column totals for use in html page(s) and/or virtual fields. Any help is appreciated. e.g. table with 3 columns and n rows I want to retrieve and pass the total value of column 1, column 2 and column 3 for use on a different webpage or for a custom html field Thanks in advance
  7. Hi everyone, I am encountering an issue wherein a "Data Table" tooltip appears everytime I hover on a report data cell. I want to remove that one. Please help. -dspolyglot
  8. Hello all: I have a script I use to create accordions using an image. But, I am want the hovered image and/or the clicked/tapped image to be different as the original accordion image. Any suggestions on the script are appreciated. The script I am using right now is: HTML BLOCK / DISABLED / BEFORE THE SECTION IN THE ACCORDION <center><img src="http://assets.goplaypool.com/files/theme/appcas/updatepass000.png" onClick="Displayer(2)" ></center> <table id="Section2" style="display:none;"><br><td> THEN; HTML BLOCK / DISABLED / AFTER THE SECTION AFTER THE ACCORDION </td></table><br> AND A FOOTER SCRIPT: <script> function Displayer(n) { var check = document.getElementById('Section'+n); if(check.style.display == 'none') { check.style.display='inline'; } else { check.style.display='none'; } } </script> --- Now on hover and/or "open" accordion, I want a different image. Thanks in advance
  9. Hi everyone, Does anyone know how to render a calculated field as HTML? I tried outputting HTML tags inside calculated fields, but they display as plain text. Thanks in advance. -dspolyglot
  10. Hi everyone, Does anyone know how to automatically resize an iframe that contains a tabular report? I set the container iframe to a fixed width and height. However, that gives me too much space upon hitting the Search button and viewing the results page, which is larger than the search form. I tried searching online but no luck. Please help. Thanks in advance. -dspolyglot
  11. Hi, I have a simply one that I just can not figure out. I know it's easy but I haven't been able to get this to work. I have a field where the user will enter a date. I want to take that date and add one, then insert into another field on a submission form. Field Name: End Date (user entered) = 10/23/2017 Field Name: Expire Date (calculated) = 10/24/2017 Any help would be appreciated.
  12. Hello everyone, Does someone know how to dynamically change the font color of a text column in a tabular report? For instance, I have a field named Indicator and it is the second column in the report. If the text value is equal to "Final", the font color must be set to red. Thanks in advance. -dspolyglot
  13. Hi, I am using a script in an html block to detect certain criteria and display something based on that criteria. Here is my script: <script> var status = "[@field:Account_status]"; function invitepopup() { window.open("https://c3fot467.caspio.com/dp.asp?AppKey=34fe4000f38aceb2a5da4c74bea2&UserID=[@field:User_ID]", "Invite", "menubar=1,resizable=1,width=500,height=500"); } if (status === "Yes") { document.write("Active"); } else { document.write('<a href="#" onclick="invitepopup()" title="Click to invite again">Invited by [@field:OriginUserName]</a>'); } </script> The if/else works fine, it shows "Active" for all the active users and "Click to invite again" for all the invitees ... however the link doesn't send the parameter properly. https://c3fot467.caspio.com/dp.asp?AppKey=34fe4000f38aceb2a5da4c74bea2&UserID=[@field:User_ID] is passed with the wrong User_ID. It seems to be passing the ID of the last user in the table, rather than the ID of the row it is in - it's currently showing 3 invitees in my table and they all are being received by the popup with the same ID (last user in the table). However if I just put this in as a plain (<a href="https://c3fot467.caspio.com/dp.asp?AppKey=34fe4000f38aceb2a5da4c74bea2&UserID=[@field:User_ID]" title="Click to invite again">Invited by [@field:OriginUserName]</a>), it works completely fine! Is there something in the script which is removing or replacing the User ID? I'm completely stumped! Hope someone can help! Many thanks Nikki
  14. So I'm trying to get the value that is already in the current points field, do a calculation as depicted in the switch statement and then fill the field in again with the new number before submitting instantly. This is all supposed to be done as a way of replacing an SQL update statement. For some reason my EditRecord or document.getElementById doesn't seem to be working at all. <script LANGUAGE="Javascript"> function calculate(){ var pos = [@pos]; var points = [@field:CurrentPoints#]; switch(pos) { case 1: points += 10; break; case 2: points += 8; break; case 3: points += 6; break; case 4: points += 4; break; case -2: points += -2; break; default: points += 2; } document.getElementById("EditRecordCurrentPoints").innerHTML = points; } document.getElementById("mypage").onsubmit=calculate(); </script> There is already a <div id="mypage"> in the header and a </div> in the footer. Am I just being very stupid?
  15. Hello guys, How can I use the timestamp as a default or initial value of my DateTime field in a Details page? I set the Form Type to Text Field, but I can't see the On Load option in the Advanced Tab. If I set the field as Hidden, I get that On Load option, but at the expense of not being able to edit it. Please help. -dspolyglot
  16. Clearing Values in A Search Form

    I have a search form and a results form on the same page. I reload the values in the search form (by receiving a parameter) so that the user can see what filters are being used to get the current results. This works great except... When I try and use the reset() form method it will not remove values that were previously submitted. I have also tried explicitly setting the value in those fields to nothing using something like this: function clearForm () { document.getElementsByName('cbParamVirtual7')[0].value=""; document.getElementById('cbParamVirtual17').value=""; document.getElementById('cbParamVirtual18').value=""; document.getElementById('cbParamVirtual19').value=""; document.getElementById('caspioform').reset(); } This does clear the checkboxes but will not clear the text fields if they have already been submitted in a query. I have attached an screenshot of the search filters. Any suggestions of how to solve this or work around the issue would be greatly appreciated. Thanks, Joel
  17. I have an employee document submission form. This table has a field called [@field:hours]. Would like to have a virtual field which tells how many cumulative hours for a specific [@employeeID]. Would like the field to auto populate once the submission form is accessed. In other words, as soon as I select the employee from the results page, would like the details page to calculate how many hours this employee has. Thanks for your help. After Re-Reading my explanation. I could have simplified by saying, utilizing JavaScript, how do you sum a column and store the result in a field ?
  18. Hello, I saw this How-to article on changing the background of a row based on the value of a field: http://howto.caspio.com/tech-tips-and-articles/advanced-customizations/how-to-dynamically-change-the-background-of-a-results-page/ However, I need to delete the row instead of changing its background color. Also, I need to delete the row when a calculation returns a blank value. Is this possible? I don't know how to write JavaScript code.
  19. Hi there, I've built a page that has a grid of images, allowing users to click on these images to make a selection ... and then I want these selections to all be saved to a table as separate entries along with their user information. So far, I can get only 1 selection to pass to the table. If they click on one of the images, that is sent to the table, fine. I've set it up so that each selection is added to the string, separated by a comma, but then this passes to the table as a single entry with the comma separated string. This is my code: function SelDatasource1() { document.getElementById("Datasource1").className = "SELECTED"; document.getElementById("InsertRecordDatasource").value += "Datasource1,"; document.getElementById("InsertRecordProject").value += "[@authfield:User_info_Project],"; document.getElementById("InsertRecordDatasource").multiple = true; } function SelDatasource2() { document.getElementById("Datasource2").className = "SELECTED"; document.getElementById("InsertRecordDatasource").value += "Datasource2,"; document.getElementById("InsertRecordProject").value += "[@authfield:User_info_Project],"; document.getElementById("InsertRecordDatasource").multiple = true; } ...etc etc ... there are over 30 of these. If somebody selects Datasource1, Datasource5, Datasource12, it shows up in the table like this: PROJECT DATASOURCE Project1,Project1,Project1 Datasource1,Datasource5,Datasource12 I am using a Submission form datapage at present, and have added my code using html blocks and footer. 2 things I need help on: 1. I know there is a better way to add a comma to the string, other than putting it in like this (i.e. value +="Datasource1,"). This way, a comma is added for a single entry and at the end of a long string, which I don't want to do - can anybody help me with this? 2. Can I pass this comma separated string so that it shows up in my table like this: PROJECT DATASOURCE Project1 Datasource1 Project1 Datasource5 Project1 Datasource12 Any help would be greatly appreciated! Many thanks Nikki
  20. Listbox Auto Height

    Anyone know how to have the listbox height be automatic based on how many records there are in it? At times my users have 2 records & others 5+ records so having a box that auto sizes per the number of records would be optimal.
  21. I have a combined chart and report datapage that I use to display a list of jobs and their status. I would like the list and chart to have dynamic colours according to their status. This is quite easily accomplished, and in fact I have already completed it. My issue comes in place with AJAX. I cannot disable AJAX on a combined chart/report datapage, therefore when I do a bulk edit on my report, the chart reverts back to the default colours. I am guessing this is because the chart loads without running the javascript in the datapage. Is there a way to execute javascript in a datapage not only on load, but also on an AJAX call? Thanks, Josh EDIT: I just realized that it's not because of the combined chart/report that I cannot turn off AJAX, but it is because of the grid edit.
  22. Hi I need to add a button that will redirect to a specific page on a HTML form This button must be visible or not visible based on a condition from an authentication field I created the html form and added this code: <script> if("[@authfield:User_Role]" == "Manager") { ---> Add a code here that will show a button that will redirect to a page } </script> Can someone send me an example code that I can place between the brackets? I tried several options but nothing works.
  23. Is it possible, using javascript / jQuery, to extract data from specific fields in a Caspio table, or its results datapage, and assign that data to an array? If so, can this code be made to work by placing it in an HTML block inside the relevant datapage? Please give me an example of the code that would achieve this. Thanks
  24. Hi there, I would like to share a JS solution which I have used for my project. This script that can be used to clear fields in the bulk edit screen. The bulk edit screen typically displays the data from the last update, and my JS allows not show the previous content of fields. Place following JS into the Footer of Bulk edit screen. Make sure that you have disabled HTML editor. <script type="text/javascript"> var aaa= document.getElementById("BulkUpdateFormBody"); var v_li = aaa.getElementsByTagName("input"); var v_ls = aaa.getElementsByTagName("select"); var v_lt = aaa.getElementsByTagName("textarea"); var f_tmpf = function(v_list, v_resList){ var v_res = v_resList || []; var v_length = v_list.length; for(var v_i = 0; v_i < v_length; v_i++) if((v_list[v_i].type || "").toUpperCase()!="HIDDEN" && (v_list[v_i].nodeName||'').search(/input|select|textarea/ig) != -1) v_res.push(v_list[v_i]); v_resList = v_res; return v_res; } var v_cleanI=f_tmpf(v_lt, f_tmpf(v_ls, f_tmpf(v_li, []))); v_cleanI.forEach(function(v_i){ v_i.value = ""; }); </script> I hope this will be useful for someone.
  25. Any Programmers for Hire

    Are there any independent contractors out there that are familiar with Caspio and interested in doing some work utilizing Java script? Some minor enhancements needed with our Caspio form that requires JS code injected. Thanks!