Jump to content

Vitalikssssss

Caspio Rockstar
  • Content Count

    421
  • Joined

  • Last visited

  • Days Won

    42

Everything posted by Vitalikssssss

  1. Hi @gregbovenkerk, What Datapage type do you use? It is possible to add Total & Aggregation field on Tabular report in order to get count of records. You can check this article: https://howto.caspio.com/datapages/reports/advanced-reporting/totals-and-aggregations/ Hope this helps. Regards, Vitalikssssss
  2. Hi @ryancys, You would need to use separate from the the search which will be based on Submission Form. You may use Virtual fields for this Submission Form. Virtual fields can pass parameters to the report to filter the data. Also, you would need to embed both Submission Form and Report on single web-page. The concept described in this article: https://howto.caspio.com/tech-tips-and-articles/tech-parameters/add-a-search-interface-to-results-sets-page/ Calculated Value datatype is available on Submission Form and Single Record Update Form. Hope this helps. Regards, vitalikssssss
  3. Hi @Bleman What type of cards you would like to process? With Stripe, you can charge almost any kind of credit or debit card: U.S. businesses can accept Visa, MasterCard, American Express, JCB, Discover, and Diners Club. Australian, Canadian, European, and Japanese businesses can accept Visa, MasterCard, and American Express. Regards, vitalikssssss
  4. Hi @GusAlford, I believe that you can find an answer in this post: Regards, vitaliksssss
  5. Hi @SDDENR, Perhaps you have the JS which throws an error on the hosting page since you have mentioned that issue can be replicated only on embed page. Try to embed the Datapage on different web-page in your CMS to check if the issues still persist. It would help if you could send us a URL of the web-page in question. Regards, Vitalikssssss
  6. Hi @galen, Please make sure that you do not do the following: - Collecting passwords on Text Fields (using label of the non-Password data type field as "Password"). - And/or have any notification/acknowledgment email that sends passwords in the body. You should contact Caspio Support if it does not help. Regards, Vitalikssssss
  7. Hi @SDDENR, Please check the browser console if there are any errors exist on a web-page where Datapage is deployed. To open the developer console window on Chrome, use the keyboard shortcut Ctrl+Shift+J (on Windows) or Ctrl+Option+J (on Mac). Do you use any CMS? Regards, vitalikssssss
  8. Hi @derek Well, you can add a Virtual field and use it in Condition. In order to get the existing value, you can may use Cascading Elements or Calculated value with SQL expression. Regards, vitalikssssss
  9. Hi @CoreyH, It is possible to create such a layout without declaring table in HTML block. I do not recommend using your approach because it will also need a cumbersome Javascript which would take a value from declared inputs and paste into Caspio inputs (fields). You can use the following feature in order to tweak the layout: 1. "No Label" for a field; 2. "Continue Next Element on the same line"; 3. HTML blocks for labels; You will be able to configure the DP like this: Hope this helps. Regards, vitalikssssss
  10. Hi @randybow, The Date&Time comparison methods is not available in View if you use the formula field as far as I understood. You need to make sure that each logic block of your CASE expression returns Date&Time datatype. Please try the following expression: CASE WHEN [@field:endDate] Is Null THEN CONVERT(Datetime, '06/01/2020', 101) ELSE CONVERT(Datetime, [@field:endDate], 101) END Hope this helps. Regards, vitalikssssss
  11. Hi @DarwinCastro I am glad that my suggestion helped. You can use the following design of task in order to check occurrences per month: Regards, vitalikssssss
  12. Hi @DarwinCastro, You can use Task feature in order to get the desired output. Here is an example of Task which will populate new table with unique record and count of them in the existing one. Hope this helps. Regards, Vitalikssssss
  13. Hi @kpcollier, Try the following JavaScript: <script type="text/javascript"> function formatAsDollars(el) { el.value = el.value.replace(/[^\d]/g,'').replace(/(\d\d?)$/,'$1').replace(/^0+/,'').replace( /\d{1,3}(?=(\d{3})+(?!\d))/g , "$&,"); el.value = el.value ? '$' + el.value : ''; } var fields = ["Subtotal", "MarkUp", "County_Tax", "Misc_Percent", "Freight_Total"]; //specify your fields here fields.forEach(element => { element = "InsertRecord" + element; // replace "InsertRecord" with "EditRecord" for Details/Single Record Update DP document.getElementById(element).onkeyup = function() { formatAsDollars(this); } document.getElementById(element).onchange= function() { formatAsDollars(this); } }); function calculate() { var subTotal = document.getElementById("InsertRecordSubtotal").value.length == 0 ? 0 : (parseFloat(document.getElementById("InsertRecordSubtotal").value.replace(/[$,]+/g,""))); var markUp = document.getElementById("InsertRecordMarkUp").value.length == 0 ? 0 : (parseFloat(document.getElementById("InsertRecordMarkUp").value.replace(/[$,]+/g,""))); var countyTax = document.getElementById("InsertRecordCounty_Tax").value.length == 0 ? 0 : (parseFloat(document.getElementById("InsertRecordCounty_Tax").value.replace(/[$,]+/g,""))); var miscPerc = document.getElementById("InsertRecordMisc_Percent").value.length == 0 ? 0 : (parseFloat(document.getElementById("InsertRecordMisc_Percent").value.replace(/[$,]+/g,""))); var freight = document.getElementById("InsertRecordFreight_Total").value.length == 0 ? 0 : (parseFloat(document.getElementById("InsertRecordFreight_Total").value.replace(/[$,]+/g,""))); var markUpTotal = document.getElementById("InsertRecordMarkUp_Total").value = (subTotal) * (markUp); var countyTaxTotal = document.getElementById("InsertRecordCountyTax_Total").value = (subTotal) * (countyTax); var miscPercTotal = document.getElementById("InsertRecordMisc_Percent_Total").value = (subTotal) * (miscPerc); var total = document.getElementById("cbParamVirtual1").value = (subTotal) + (markUpTotal) + (countyTaxTotal) + (miscPercTotal) + (freight); var dp_el = [ document.getElementById("InsertRecordMarkUp_Total"), document.getElementById("InsertRecordCountyTax_Total"), document.getElementById("InsertRecordMisc_Percent_Total"), document.getElementById("cbParamVirtual1") ]; dp_el.forEach(element => formatAsDollars(element)); } setInterval(calculate, 1500); </script> Regards, vitalikssssss
  14. Hi @norkaman Do you use the following syntax to reference first 2 parameters? [@WID] and [@LBE]? Regards, vitalikssssss
  15. Hi @walker1376, Do you use Trading_Name as a display value i.o. ID in table relationship? I assume that you trying to compare ID with display value. Please send me a screenshot of your Table relationship, so I could give more precise suggestion. Regards, vitalikssssss
  16. Hi @walkerc, You will not be able to build a View with desired output because Joins cannot be configured with OR logic. I can suggested using a filtering criteria on Datapage in order to show the records from Main_Data table to the Contractor. You should use a Main_Data as a data source for your Datapage. Also you should enable authentication which based on "Contractor_Data" table for this Datapage. Finally you can use the following filtering logic: P.S. use TradingName i.o. Record_ID from my sample. Hope this helps. Let me know if you have any questions. Regards, vitalikssssss
  17. Hi @GrahamMoore, You may consider using Weebly (my choice), Yola, WordPress (wordpress.org). Hope this helps. Regards, vitalikssssss
  18. Hi @Farnsbarnes, I am afraid that it is not possible to reference a look up value with any syntax. I can recommend creating a View to join your tables (parent child) and use this view as a datasource for the Datapage. You will be able to reference the parent field by using a parameter picker. Hope this helps. Regards, vitalikssssss
  19. Hi @SonniT, I am pretty much sure that you receive an error because you have used PK_ID field as body parameter. PK_ID is a system field which acts as a record index for Caspio Table. I am afraid that you cannot use this field in body parameters. Try removing this parameter from body to resolve the issue. Please provide us with fields Data type used in the table if you still encounter an issue after removing PK_ID. Regards, vitalikssssss
  20. Hi @EmmePGN, The following script fires the selection check after user clicks on Update button in his form: <script type="text/javascript"> var v_state = "[@field:TypesWrittenComm]" ; var o_state = document.getElementById("EditRecordTypesWrittenComm") ; o_state.multiple = true ; function f_listbox() { if ( v_state.indexOf(",") > 0 ) { for (var i=0 ; i < o_state.options.length; i++ ) { if(o_state[i].value == v_state) { o_state.remove(i); break ; } } var o_st = v_state.split(", ") ; for (var j=0 ; j < o_st.length; j++) { for (var i=0 ; i < o_state.options.length; i++ ) { if(o_st[j]== o_state.options[i].value){ o_state.options[i].selected = true ; break ; } } } } } function check_listbox() { var maximum_selections = 3; var MyListbox = document.getElementsByName("EditRecordTypesWrittenComm")[0]; var number_selections = 0; for (var i=0; i<MyListbox.length; i++) { if (MyListbox.options[i].selected) number_selections++; } if (number_selections>maximum_selections) { alert("You can select only " + maximum_selections + " items"); event.preventDefault(); } } document.addEventListener('BeforeFormSubmit', function(event) { check_listbox(); }); </script> Hope this helps. Regards, vitalikssssss
  21. Hi @Ajumathews, What issues? Did you follow the instruction from this Caspio tutorial? https://www.youtube.com/watch?v=2Y2lcVnMkZI Regards, vitalikssssss
  22. Hi @Chrille, You should use "EditRecord" prefix on Details page in order to reference a field. So, you code should look like this: <script type="text/javascript"> document.addEventListener('BeforeFormSubmit', function (event) { var v3 = '<img src="http://image_url" alt="YES"'; var v2 = document.getElementById("EditRecordKontaktad").value; if (v2 !="") { document.getElementById("EditRecordRingt").value = v3; }}); </script> Hope this helps. Regards, vitalikssssss
  23. Hi @Jamievanzone, This should help: Regards, Vitalikssssss
  24. Hi @EmmePGN, There are different ways how you can tackle this challenge. You may use a JavaScript or you create an expression which results in SQL error. Here is a JavaScript which will hide the "Submit" button if user selection exceed "100": <script> function checkLimit(){ let value = document.querySelector('input[id*="InsertRecordYOUR_FIELD"]').value; //enter your actual field name let button = document.querySelector('input[id^="Submit"]'); if (value > 100) { button.style.visibility = "hidden"; } else { button.style.visibility = "visible"; } } setInterval(checkLimit, 500) </script> This code should go into Footer of the Datapage and also make sure you disabled an HTML editor. Second option is to have the expression in Calculated value field which results in SQL error, e.g. CASE WHEN (Isnull([@field:PointFactor_Duties_PercentDuty1],0)+Isnull([@field:PointFactor_Duties_PercentDuty2],0)+Isnull([@field:PointFactor_Duties_PercentDuty3],0)+Isnull([@field:PointFactor_Duties_PercentDuty4],0)+Isnull([@field:PointFactor_Duties_PercentDuty5],0)+Isnull([@field:PointFactor_Duties_PercentDuty6],0)) > 100 THEN CAST( 'a' + 1 as INT) ELSE (Isnull([@field:Number_1],0) + Isnull([@field:Number_2],0) + Isnull([@field:Number_3],0)) END User will see an error if he enters amount which exceeds "100". Message can be customized in Localization. Hope this helps. Regards, vitalikssssss
  25. Hi @bbewley, @kpcollier, You may try using this JS which should go to the Footer: <script type="text/javascript"> function formatAsDollars(el) { el.value = el.value.replace(/[^\d]/g,'').replace(/(\d\d?)$/,'$1').replace(/^0+/,'').replace( /\d{1,3}(?=(\d{3})+(?!\d))/g , "$&,"); el.value = el.value ? '$' + el.value : ''; } let fields = ["FIELD_1", "FIELD_2"]; //specify your fields here fields.forEach(element => { element = "InsertRecord" + element; // replace "InsertRecord" with "EditRecord" for Details/Single Record Update DP document.getElementById(element).onkeyup = function() { formatAsDollars(this); } document.getElementById(element).onchange= function() { formatAsDollars(this); } }); </script> Pay attention to comments. Hope this helps. Vitalikssssss
×
×
  • Create New...