Jump to content

Search the Community

Showing results for tags 'javascript'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


MSN


Website URL


ICQ


Yahoo


Skype


Location


Interests

  1. 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.
  2. 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
  3. When I had my onboarding with Caspio helped with some Java Script to replace a blank space with " OR " so we could search on a field using "Contains" versus "Equals". We are now trying to duplicate this code in a new data page and it is not working. The data page where it does work is "Search Bar" on field "Virtual4" and the code is in the header and the footer. The results are then passed to another data page. I now want to create a data page where the search is contained in the page and the results are not passed. The functionality we need is to cut & paste style #'s into the search box and upon clicking submit the script runs and replaces the space with " OR " and the "contains" search runs. Here is an example use case Cut and paste "CM7661 CM7662 CM7854" Click Submit Script runs and replaces the spaces with " OR " and the query looks like "CM7661 OR CM7662 OR CM7854" The results for the 3 style numbers are returned The code we have in the header is: <div id="search"> The code we have in the footer is: <script> document.getElementById('search').onsubmit= function (){ var txt = document.getElementById('cbParamSeason_Table_Style').value; document.getElementById('cbParamSeason_Table_Style').value = txt.replace(/\s+/g, " OR "); } </script> Why is this not working? Thanks, Jeff
  4. Hi, I want to output a parent record and its linked child records (a variable number of records) as a JSON array to display in a html page that consists of sections. Each section contains one or more fields from either the child or parent record(s). I would like to be able to push the data upon clicking a button. Following is an example of what I mean. (NB: The actual Parent Table has 10 fields and the Child table has 60 fields, including some that are formula fields). Parent table fields: FIELD: PID PF1 PF2 PF3 TYPE (autonumber) text date number Child Table fields: FIELD: CID (autonumber) PID CF2 CF3 CF4 CF5 TYPE (autonumber) integer text date number checkbox PID is an Integer field and relationship linked to same field in Parent table. Section 1 [CF3-record1] [CF3-record2] [CF3-record3] Section 2 [CF2-record1] [CF4-record1] [CF2-record2] [CF4-record2] [CF2-record3] [CF4-record3] Section 3 [CF5-record1] [PF1] [CF5-record2] [PF1] [CF5-record3] [PF1] It would be much appreciated if someone can assist by providing some instructions and javascript if needed. Many thanks!
  5. I am trying to allow for this JQuery tag affect to occur when the user types in to the text area in the virtual field of my submission form but have not been successful. Disclosure: Since I am new to Javascript, I was wondering if I am referencing the JQuery and Tag-It components properly? I attempted switching the id/class element with "cbParamVirtual1" and "caspioform" but no luck. I would appreciate anyone's feedback. (This is in the footer of the datapage.) <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript" charset="utf-8"></script><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/tag-it/2.0/js/tag-it.js" type="text/javascript" charset="utf-8"></script> <script language="JavaScript"> $(function(){ //------------------------------- // Single field //------------------------------- $('cbParamVirtual1').tagit({ // This will make Tag-it submit a single form value, as a comma-delimited field. singleField: true, singleFieldDelimiter: ',', singleFieldNode: $('#mySingleField') }); }); </script>
  6. Hi, I've reviewed the forums and have been able to successfully pass virtual field data into my Caspio tables using the '"Cascading drop-downs" JavaScript code method in the header and footer section of the form. It's working perfectly. I'm currently having an issue passing virtual field data into my Caspio table using a "Single Record" update form; which is required for my multi-step submission form . I modified the code for 'text field' (removing the [0]) since cascading drop-downs are not being used. The user will be entering data into the form directly. The code I'm using to 'get' the virtual text field value in the Header section of the single record update form is: <SCRIPT LANGUAGE="JavaScript"> function concatenate() { var x = document.getElementsByName("cbParamVirtual1").value; document.getElementById("LandFillRate1_Field").value = x; var x = document.getElementsByName("cbParamVirtual2").value; document.getElementById("LandFillRate2_Field").value = x; var x = document.getElementsByName("cbParamVirtual3").value; document.getElementById("LandFillRate3_Field").value = x; var x = document.getElementsByName("cbParamVirtual4").value; document.getElementById("LandFillRate4_Field").value = x; var x = document.getElementsByName("cbParamVirtual5").value; document.getElementById("LandFillRate5_Field").value = x; } document.getElementById("caspioform").onsubmit=concatenate; </SCRIPT> The code I'm using to insertrecord into the table in the Footer Section of the single record update form is as follows: <SCRIPT LANGUAGE="JavaScript"> function concatenate() { var x = document.getElementById("cbParamVirtual1").value; document.getElementById("InsertRecordLandFillRate1").value = x; var x = document.getElementById("cbParamVirtual2").value; document.getElementById("InsertRecordLandFillRate2").value = x; var x = document.getElementById("cbParamVirtual3").value; document.getElementById("InsertRecordLandFillRate3").value = x; var x = document.getElementById("cbParamVirtual4").value; document.getElementById("InsertRecordLandFillRate4").value = x; var x = document.getElementById("cbParamVirtual5").value; document.getElementById("InsertRecordLandFillRate5").value = x; } document.getElementById("caspioform").onsubmit=concatenate; </SCRIPT> Unsure if my getElement should be by Name or ID; and if it differs between the header and footer scripts. The examples for the footer script show ID and the header shows name. I'm officially confused. I'd greatly appreciate any assistance provided. I checked the script using the F12 function in the console and everything looks good but still no data showing in the table. Thanks, Bre
  7. Hi there, I have 2 tables that I'm passing parameters between using a redirect and auto-submit. In the datapage, the user can assign a star rating which is updated in the main table. I wish to pass that parameter to my second table (via the redirect / auto-submit) ONLY if it has changed ... At the moment, the field is called "QA_Tester_Rating" in both tables and it is passing fine from the redirect etc to the 2nd table. Do I want to set up a script in my first datapage or second, to look for changes in the field and only pass the figure if it has changed? I want the field to be blank in my table if there are no changes. Any help much appreciated! Nikki
  8. I am using the JavaScript from this "Limit the Number of Submissions" article to display one hyperlinked image or another hyperlinked image based on meeting a condition. This is the original JavaScript from the article: <script> if([@field:Attendees] <[@field:Maximum_Attendees]) { document.write("<a href='SubmissionURL&Course_ID=[@field:Course_ID]'> Signup </a>"); } else { document.write("<p>Signup Closed</p>") } </script> This is my modified version with image links instead of text links: <script> if([@field:Keyword_Count#] <[@field:Max_Keywords#]) { document.write("<a href='URLwithPARAMETERS'><img src='IMAGEURL'></a>"); } else { document.write("<a href='URLwithPARAMETERS'><img src='IMAGEURL'></a>") } </script> Currently, when a visitor clicks on the image, the destination of the hyperlink is the same window. I would like the destination to be a popup window with resized window. I already use JavaScript popup code in another DataPage, so I figured I would paste and modify as so document.write("<a onclick="window.open(...); return false"><img></a>"), but this does not work. JavaScript popup code that works on another app, outside of the document.write("..."). <a onclick="window.open('URLwithPARAMETERS','popup','width=550,height=200, scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=50,top=50'); return false"><img alt="Delete" src="IMAGEURL" style="width: 20px; height: 20px; margin: 1px;" /></a> Any recommendations?
  9. Hi Caspio newbie here! I'm trying to do email verification, most of it works fine but the only way to change the verification status to yes is to manually run the datapage I created called email_verification. the email sends okay and the link copies the GUID but it doesn't change the field status. I tried copying the script on the help page to get automatic updating but it doesn't appear to work....my code is as follows <script> document.getElementById('caspioform').onsubmit = function (){ document.getElementById('[@field:Email_Verified^]').checked="y"; } </script> any advice much appreciated Ian
  10. Hi there, I have tabbed content on my page. One of which looks like this: <li><a data-toggle="tab" href="#menu4" style="background-color: #10368F; color: white;">5. TEST RESULT</a></li> I'd like to change the background color of this element to grey IF my dropdown (named [@Expected_Outcome]) equals Business Insight. I know I can probably figure this out, but my brain is turning to mush from looking at this and I have a deadline looming!! Can anyone help me write the correct script? Many thanks Nikki
  11. Hi there, I would like to timestamp a field (Test_Completed), but only if it hasn't already been timestamped and only if a different field (Actual_result) has content. I found a forum answer about timestamping a field, and have tried to modify it to include my conditions, but I am not too good with JavaScript! This is what I've done, can anyone help?? <SCRIPT LANGUAGE="JavaScript"> /* Declaration and initialization */ Stamp = new Date(); var v_TimeStamp; Hours = Stamp.getHours() Mins = Stamp.getMinutes(); /* Construct the value of the v_TimeStamp variable in the format m/d/yyyy hh:mm */ v_TimeStamp=('' + (Stamp.getMonth() + 1) +"/"+Stamp.getDate()+ "/"+Stamp.getFullYear() + ' ' + Hours + ":" + Mins); if ('[@field:Actual_result]' === 'input.length >1' && '[@field:Test_Completed]' === "") { document.getElementById("EditRecordTest_Completed").value=v_TimeStamp; } </SCRIPT> Many thanks Nikki
  12. We have a requirement for our Users to be able to update v quickly a large number of records within a tabular type report. The Bulk Edit/Update on its own wont work for us as we need to - when updating each of the records - to concatenate two Notes fields together along with a system date within each record and update another field. We can do this quite easily with JS in aa single Details Page (simple JS concatenating the two different notes values and adding today's date). However this approach does not seem to work on the Bulk Edit/Update - as whilst we can change a common field value across multiple records we cant get JS to individually do a concatenation in each of the records involved. Am really interested in any ideas for this. Our latest thinking - please comment - is to use a Tabular report of searched records to display in std tabular form to the User. But to have an HTML block at the end that has a URL link they can click. This would open some kind of hidden web window/tab containing a Details record that we can apply the JS to (as advised above) for concatenating the two Notes field values and the date within each record. We have not quite got this to work and I would be really interested in views from this Forum. A key stumbling block is to arrange for a Parameter value that can be selected once - whilst at the Tabular report - and then reused/retained as the User works his/her way down the list by clinking on the link quickly opening/closing a Details form (using Auto Submit?). This parameter value we use to update a field with the records status. It and the values of the Notes fields that we concatenate and then update another field and really the record changes we are trying to accomplish. We have tried using a second datapage with a dropdown of the values that would hold a parameter value to pass over. However it loses its value after the first click. We were wondering if we could have somekind of dropbox field that we could set once and which would then keep its parameter value held whilst the User was clicking the html link block on the Tabular report and then activating the hidden web window/tab with the Details record. Any ideas from you experts out there :-)
  13. Hi, I'm trying to run a 'change' function on a virtual field ONLY when a regular field is Null. This is in a submission form. The code I have below seems to run automatically when the form is opened, I guess because the virtual field is a cascading dropdown so it's 'changing' when the form is loaded, based on the parent field. I only want this code to run if the 'ItemID' field (ItemID is not the parent of the cascading Virtual9) is null. If it is not null then I need this code to not run at all, even onload. I've tried a bunch of different 'if' scenarios but can't get it to work. Hopefully someone can help.. <script> $("[name='cbParamVirtual9']").change(function(){ var itid = document.getElementsByName("cbParamVirtual9")[0].value; var item = document.getElementsByName("InsertRecordItemID")[0].value if (item !== null) { document.getElementsByName("InsertRecordItemID")[0].value = itid; } } ); </script> NOTE: I ran an alert window to make sure the values in Virtual 9 are being gotten and used- they are and they are put in the ItemID field as needed on the Virtual 9 change. The problem is that when ItemID is not null on the form's load (it receives and external parameter, if there is one) the code still runs. This will overwrite the ItemID's external parameter received. Also, I'm not sure why ItemID works with getElementsbyName instead of getElementbyID because it's just a text field and not dropdown,list,cascading, etc. But the code didn't work unless I used getElementsbyName.. I think I just need to add the correct 'if' expression that runs or doesn't run the 'Change' function next. <script> var item = document.getElementsByName("InsertRecordItemID")[0].value; <!-- right here I need an if (item !== null) to then run the change(function(){ but that if it's not null to not run the change(function(){ --> $("[name='cbParamVirtual9']").change(function(){ var itid = document.getElementsByName("cbParamVirtual9")[0].value; document.getElementsByName("InsertRecordItemID")[0].value = itid; } ); </script>
  14. I am trying to filter datapages that are embedded within a page that I show within an iframe and I can not seem to get the parameters to pass into the I-Frame when the parent page is loaded. I have a "Project" report with custom link to details page. This link passes Project_ID fine to datapages actually embedded on the target page. What I want to do is embed other pages (hosted on same domain) via IFrame and have the results of datapages embedded on the page shown in iframe filtered by the Project_ID. I want to use I frames to reduce load time, data usage and also have the ability to refresh specific datapages when editing data. Again, the parent page that hosts the Iframe is receiving the parameter fine, i just can not get the DPs within the embedded page to see the passed parameter. Much help in advance!
  15. I'm trying to hide a tabular report if a given comparison returns as false. I have the below code that works to hide the table no matter the result: <script language="javascript" type="text/javascript"> function hide_column(column_order) { var tbl = document.getElementsByTagName("table")[0]; var table_header = tbl.getElementsByTagName('th')[column_order]; table_header.style.display=stl; var rows = tbl.getElementsByTagName('tr'); for (var row=1; row<rows.length;row++) { var cels = rows[row].getElementsByTagName('td'); cels[column_order].style.display=stl; } } var stl='none'; hide_column(0); hide_column(1); hide_column(2); hide_column(3); hide_column(4); hide_column(5); hide_column(6); </script> However, If I'm adding a restriction var string = "[@authfield:Authentications_2_Region]", substring = "[@field:Location_2_Region_GL]"; if(string.includes(substring)=false) I don't know where to put it; I've tried putting it everywhere and can't get it to work right. Full disclosure: I'm not good with Javascript and may be way off the mark on the formatting...I'm trying to piece this together with W3 Schools and Google.
  16. I use a script in the footer of every datapage to have the tab header include my logo & the name of the datapage. What I need now is for the tab header to also include a string field from the datapage...how do I do that?Current footer code is:<script>var v_link = document.createElement('link');v_link.setAttribute("href", "http://login.zalipresents.com/wp-content/uploads/2015/09/Zali_logo_Z_Tab_Icon.png");v_link.setAttribute("rel", "shortcut icon");document.head.appendChild(v_link);</script>I'd like to have the tab label read: Z (logo inserted like screen shot) WORKING - [Artist]...i'd like this artist name to also show up in the little box that pops up when you hover over the Z or WORKING. Any suggestions? The field is called "Artist"
  17. I'm trying to get some js to work with a Virtual field (currently set to a list box with 3 choices) when the selection changes (i.e. when the user clicks on choice 1,2,or 3 in the list of the Virtual field). I was able to get the rest of the code to work using a button but I'd like it to work directly when the user changes the selection in the listbox of the Virtual field. Here's what I've got so far. It's the onchange part I need help with: <div style="text-align: center;"> <script> $("[name='cbParamVirtual1']").change(function(){ var dtid = document.getElementsByName("cbParamVirtual1")[0].value; if (dtid == 1){ document.getElementById("InsertRecordMyField2").value = ""; document.getElementById("InsertRecordMyField3").value = ""; } else if (dtid == 2){ document.getElementById("InsertRecordMyField1").value = ""; document.getElementsByName("InsertRecordMyField3")[0].value = ""; } else if (dtid == 3){ document.getElementsByName("InsertRecordMyField1")[0].value = ""; document.getElementById("InsertRecordMyField2").value = ""; } } </script> </div> One thing also- I would prefer the Virtual field to actually be a real field (I couldn't get the var 'dtid' to work with a regular field though) that's a Radio button instead of a list- so that's the ultimate goal of this code. But just getting it to work with a Virtual field Listbox using 'change' would be a big help. Thanks- UPDATE: I am working through the process in steps on this datapage and just added virtual fields that use the MyField1,2,3 as the Parent fields for Cascading Text (on the Virtual field). This seems to disable the code above (perhaps because of the MyField1,2,3 is 'null' there can't be a cascade?). Any help with incorporating this into the code would be great as well.
  18. ANY help would be greatly appreciated!!!! Okay, I have a script that I think should work, but I can't get it to function....Here it is: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <script> $("#caspioform").submit( function() { var selectedopts = $('[name=cbParamVirtual1]').getChildren(); for(i=0;i<selectedopts.length;i++) { if(selectedopts[i].val() == '') { return false; } } }); </script> The script is trying to validate the input (into a text field via barcode scanner) against a hidden dropdown (virtual field "cbParamVirtual1").... Event handler question/issues: CURRENTLY, the barcode scanner, as it scans, it hits "enter" (like a keyboard enter, I think) at the same time submitting the form I need the above code to keep it from submitting if the value isn't in the dropdown Is ".submit" the correct event handler for this? ...or do I use ".keypress"? maybe something else? Location of script question Do I put the script in the form's footer or header...or should I put this in the header of the webpage where it's embeded? I'm confused about when to use the form's header/footer vs the webpage header One more detail that I left out is that I have an iframe code deployed in the footer of the form...it's the only way I could get a report to update as the form (also in an iframe) is submitted....it works well, even though I've read you can't deploy inside another datapage.... that seems doesn't seem to hold true with iframes. However, would I need to change the form name above if I have the 2nd datapage deployed in the footer of the form????
  19. Does anyone know any code for collapsing or expanding sections in a Pivot Table and a Tabular table? For example lets say that column 1 is 'Regions' and Column 2 is 'Countries'. The pivot table table is set up to show all regions and all countries expanded. I'd like to set up a button outside the results table to be able to collapse all countries, all in one go, to just show region totals, without having to go through each region individually. Many thanks in advance.
  20. I have the following code in the footer and it produces a button on the bottom of my results page that works to redirect the user to another url. <script type="text/javascript"> if(!document.getElementById("norecord")) { document.write('<button onclick=document.location.href="https://www.myirlog.com/logbook/new-record-entry">No, Really, I want to add a new record</button>'); } </script> However, when I put that same code inside of an HTML block, it does not work: <script type="text/javascript"> if('[@field:participant_1_name]' != '[@authfield:Name]' && '[@field:participant_2_name]' != '[@authfield:Name]' && '[@field:participant_3_name]' != '[@authfield:Name]' ) { if('[@field:participant_2_name]' == '' || '[@field:participant_3_name]' == '' ) { document.write('<button onclick=document.location.href="https://www.google.com">take me away</button>'); } } </script> The buttons appear in both locations, but only the footer button works, when the in-line button (the one coded in the HTML block) is clicked, the whole page just refreshes instead of going to google.
  21. Hi! This is my first question on this forum, so I apologize if this question is not in the scope of the board I followed this thread to concatenate values from four virtual fields onto an existing field on a details page upon "update". I added the code below to the footer of my details page, and it worked when my virtual fields were text fields. However, this code did no longer worked when I changed my virtual fields to autocomplete fields. Is there another step I need to convert the autocomplete to text? <SCRIPT LANGUAGE="JavaScript"> function concatenate() { var x0 = document.getElementById("EditRecordOtherCollectors").value; var x1 = document.getElementById("cbParamVirtual2").value; var x2 = document.getElementById("cbParamVirtual3").value; var x3 = document.getElementById("cbParamVirtual4").value; var x4 = document.getElementById("cbParamVirtual5").value; document.getElementById("EditRecordOtherCollectors").value = x0+" "+x1+" "+x2+" "+x3+" "+x4; } document.getElementById("caspioform").onsubmit=concatenate; </SCRIPT> Thanks!
  22. Javascript help please I have a web page on which I wish to display a hyperlink depending on the status of a specific field from my authentication table. The authorisation field “[@authfield:Staff_List_Branch_Type]” has two options which are “FS” or “SIS”. Depending on the authorisation of the user I would like to display a link that will take the user to a specific web page depending on their Branch_Type status. So if your autfield branch type is “FS” a link will display that will take you to web page A, however if your branch is “SIS” a link will display that will take you to web page B. There must only be one link displayed Any help or ideas greatly appreciated Steve
  23. Hi @abelphathost, Thanks for the message, but let's not ask questions privately.... the point of a forum is for people to find that somebody else has already asked the same question. A couple things to note 1 - I've had trouble using JS and Caspio's checkboxes. Dropdowns are easier to work with. 2 - I never use 'onsubmit'. Rather i create a fake submit button that runs that code I need before the submit happens then wrap the function with: document.getElementById("Submit").click() ** If you must have something easier than a dropdown... This takes some work, but will allow you to do it. HTML block <style> #YOUR_FIELD_ID {display: none} .fake-radio { width: 120px; height: 50px; padding: 16px; margin: 16px 0 0 32px; font-size: 18px; float: left; } </style> <div class="fake-radio" onclick="document.getElementsByName('YOUR_FIELD_ID')[0].value = 'Yes';>Yes</div> <div class="fake-radio" onclick="document.getElementsByName('InsertRecordFieldName')[0].value = 'No';>No</div> YOUR_FIELD_ID 1. right click the field you want to populate > inspect 2. Look for <xx class="sample" id="XYZ_98sd7d" name="InsertRecordYOURFIELDNAME">Hi World</xx> 3. your answer is InsertRecordYOURFIELDNAME Try these suggestions and I'm sure you'll find your solution
  24. Hi everybody, i need to update a field i the database when a checkbox is checked here is my code but it's not working: <SCRIPT LANGUAGE="JavaScript"> function Updatestatus() { if (document.getElementById("approved").checked==true) { document.getElementById("status")="approved"; } else if (document.getElementById("approved").checked==false) { document.getElementById("status")="pend"; } document.getElementById("update as").onsubmit= UpdateQty; </SCRIPT>
×
×
  • Create New...