Caspio Guru
  • Content count

  • Joined

  • Last visited

  • Days Won


ezIQchad last won the day on February 2

ezIQchad had the most liked content!

1 Follower

About ezIQchad

  • Rank
    Advanced Member
  • Birthday

Profile Information

  • Gender
    Not Telling
  • Location
    USA - PNW

Recent Profile Visitors

621 profile views
  1. Email clients don't like style tags, so we must use inline styles. <span style="display: none[@param1]">[@param1]</span> If Param1 = null, then style="display: none" will render normally, thus hiding the span. If it's not null then it will be something that doesn't compute... like style="display: noneABCD", which won't hide the span
  2. This caused problems for me.... found a workaround #caspioform div[style="position: relative"] { height: 0px; }
  3. Try making the first page a user begins this process on a submission form that will alert the user when they're adding the duplicate record BEFORE any auto-submitting. I can't tell for sure, but it seems like you're passing params from one DP to the next in order to add multiple records. Then along the way, a non-unique error pops up and a loop ensues. Ensure this error prevents the user from proceeding by moving the unique record to the beginning. You can also add code to the Localization Error message.
  4. Cascading fields. They're easy to figure out, as long as you know that's what you need.
  5. HTML Block *You must use a div - not an a tag. Caspio's HTML editor doesn't allow you to have divs inside an a tag. <div onclick="location.assign('yourLink.html');"> <div class="field-1">[@field:DataSourceField1]</div> <div class="field-2">[@field:DataSourceField2]</div> <div class="field-3">[@field:DataSourceField3]</div> </div>
  6. Create HTML Blocks for each error message you'd like to display. Then use the "Rules" tab to show/hide these blocks.
  7. You're using the same identifier for different calcs. var convertField = document.getElementsByClassName('cbFormData')[0]; This is why the value from the second calc is showing up in the first element.... the first code runs perfectly, then before you can see the result the of that calc, the second code fills the data into the first element. Might be as simple as changing to var convertField = document.getElementsByClassName('cbFormData')[1]; Try to use ID rather than CLASS[*], you have much better control. If your Virtual Params are Cascading, that explains why you can't use ID.
  8. I can't tell when you want the data copied based on your question, so I'll try to help, assuming you want the description copied after the user types a description. <script> var caspioDescriptionElement = document.getElementById('EditRecordDescription'); var formDescriptionElement = document.getElementById("cbParamVirtual1"); formDescriptionElement.onchange = function() { caspioDescriptionElement.value = formDescriptionElement.value; } </script> While writing this, I noticed that you're missing a "document" before "getElementsByName("cbParamVirtual1")[0].value; ". That might fix your code.
  9. No code needed. Use "Rules" within the DataPage editor to show or hide specific elements based on values in your data. p.s. Java and JavaScript are not the same thing, and Java is not likely to help you much in Caspio.
  10. You're using a JS var outside of a JS function. - <a href=("dynLink").... Rather, you need assign the href from within the JS function. You can also simplify your code by removing the else and simply starting with the link that should be there when the "if" fails <script> window.onload = testFormRes; function testFormRes() { var dynLink; var linkEle = document.getElementById('dynLinkEle'); if ("[@authfield:Restricted^]"=="yes"){ dynLink="https://c0ect240.caspio.com/dp.asp?AppKey=eeda30004146e1be17fe4f64a319"; linkEle.href = dynLink; } } </script> <a id="dynLinkEle" href="https://c0ect240.caspio.com/dp.asp?AppKey=eeda3000a155f226d27146b0ae20" class="btnPatrolForm">ActivityForm</a>
  11. Auto-Submitting does not work when more than one DataPage is present in a web-page. A workaround would be to change to a one-DataPage layout. Auto-submit the first page, then upon submitting, pass the param through, load the second DataPage which also auto-submits, then refresh the child.
  12. Check out this amazing trick I learned this morning. You can pass params into a datapage by adding the param right into the snippet from Caspio <script type="application/javascript"> var someVar = 'abc'; try{f_cbload("****************89c82&tf="+someVar,"https:");}catch(v_e){;} </script> My actual use case <script type="application/javascript"> var htmlFile = location.pathname.substring(location.pathname.lastIndexOf("/") + 1); try{f_cbload("****************89c82&tf="+htmlFile,"https:");}catch(v_e){;} </script>
  13. Trigger a javascript function to run with every keystroke object.onkeyup = function(){myScript}; Javascript function to measure String Length - http://www.w3schools.com/jsref/jsref_length_string.asp var str = "Hello World!"; var n = str.length; result of n would be 12
  14. What are you trying to accomplish? What have you tried? What happened? What did you expect to happen?
  15. Not exactly, but you can effectively do that. Use a view to join the tables and display all the records in one place