johntgorman Posted July 24, 2008 Report Share Posted July 24, 2008 I am trying to get fields to concatenate in “capture web form†for new record and to “edit web form†in an update form in a footer with no luck. I got this script from the caspio community forum. Is there anything anyone can see that I am doing wrong? I am a Java novice. This is the capture form footer. function concatenate() { //(1) Retrieve the value of the field Catagory and store in a variable Catagory. var Catagory = document.forms[0].InsertRecordCatagory.value; //(2) Retrieve the value of the field Business_Name and store in a variable Business_Name. var Business_Name = document.forms[0].InsertRecordBusiness_Name .value; //(3) Retrieve the value of the field Description and store in a variable Description. var Description = document.forms[0].InsertRecordDescription.value; //(4) Retrieve the value of the field Details and store in a variable Details. var Details = document.forms[0].InsertRecordDetails.value; //(5) Create the string and define a variable with that value. var Keyword = Business_Name+Catagory+Description+Details; //(6) Post the string to the targeted field. document.getElementById(\"InsertRecordKeyword\").value = Keyword; } //(5) On submitting the webform, the function calculate is executed. document.forms[0].onsubmit=concatenate; Also Trying to allow this field to be changed when the record is edited. Script for Editing record and concatenate. Tried to select field from [ ] box in HTML block and still did not work. function concatenate() { //(1) Retrieve the value of the field Catagory and store in a variable Catagory. var Catagory = document.forms[0].EditRecord[@field:Catagory].value; //(2) Retrieve the value of the field Business_Name and store in a variable Business_Name. var Business_Name = document.forms[0].EditRecord[@field:Business_Name] .value; //(3) Retrieve the value of the field Description and store in a variable Description. var Description = document.forms[0].EditRecord[@field:Description].value; //(4) Retrieve the value of the field Details and store in a variable Details. var Details = document.forms[0].EditRecord[@field:Details].value; //(5) Create the string and define a variable with that value. var Keyword = Business_Name+Catagory+Description+Details; //(6) Post the string to the targeted field. document.getElementById(\"InsertRecordKeyword\").value = Keyword; } //(5) On submitting the webform, the function calculate is executed. document.forms[0].onsubmit=concatenate; Quote Link to comment Share on other sites More sharing options...
Barbara Posted July 25, 2008 Report Share Posted July 25, 2008 Hi John, Try the following in the Capture Web Form footer: function concatenate() { var Catagory = document.getElementById(\"InsertRecordCatagory\").value; var Business_Name = document.getElementById(\"InsertRecordBusiness_Name\").value; var Description = document.getElementById(\"InsertRecordDescription\").value; var Details = document.getElementById(\"InsertRecordDetails\").value; var Keyword = Business_Name+Catagory+Description+Details; document.getElementById(\"InsertRecordKeyword\").value = Keyword; } document.getElementById(\"caspioform\").onsubmit=concatenate; Notice that after InsertRecord prefix you need to have your corresponding field names. For the Update form use the following code: function concatenate() { var Catagory = document.getElementById(\"EditRecordCatagory\").value; var Business_Name = document.getElementById(\"EditRecordBusiness_Name\").value; var Description = document.getElementById(\"EditRecordDescription\").value; var Details = document.getElementById(\"EditRecordDetails\").value; var Keyword = Business_Name+Catagory+Description+Details; document.getElementById(\"EditRecordKeyword\").value = Keyword; } document.getElementById(\"caspioform\").onsubmit=concatenate; The only difference between these two JS is that in Web Form fields are referenced by InsertRecord prefix and in Update form ther are referenced by EditRecord prefix. Good Luck! Barbara Quote Link to comment Share on other sites More sharing options...
johntgorman Posted August 6, 2008 Author Report Share Posted August 6, 2008 Barbara, I pasted your code directly into my footer. When I edited my files and tried to enter new ones, the field \"Keyword\" is left blank in my data table. I am not sure what I'm doing wrong. Anyone have any ideas??? Ultimately, I am trying to create a Keyword search field to search several variables at once. This allows me to screen by location and keyword using the \"contains\" option for comparison. Thanks, John Quote Link to comment Share on other sites More sharing options...
Barbara Posted August 7, 2008 Report Share Posted August 7, 2008 Hi John, Everything seems ok unless category field name, make sure all the field names match exactly with what you have in the table and make sure there is no typo. If you give me the URL of your DataPage I could see in firefox/firebug if there is any JS error. --------- Barbara Quote Link to comment Share on other sites More sharing options...
crisraguilar Posted October 26, 2008 Report Share Posted October 26, 2008 I am trying this and its not working. I am trying this in a webform BUT if I was to try in what footer (there are 3 options) in the Search & Report form do I put it in? Does it go in the "Configure Search Fields" footer or the "Configure Results Page Fields" or the "Configure Details Page" (Yes I understand that the code is slightly diffrent if it is in a webform instead of search). (other info to help you help me) I added a field in my table named "Keyword". I am hoping to put these combined fields into that field so I can search on it. Also the name of my datapage is "testClientsWebForm". The script is copied below. I have double checked for typos but I don't see my mistake. help... anyone function concatenate() { var ClientName = document.getElementByIdInsertRecordClientName.value; var ClientAddress = document.getElementByIdInsertClientAddress.value; var ClientCity = document.getElementByIdInsertClientCity.value; var ClientState = document.getElementByIdInsertClientState.value; var ClientZip = document.getElementByIdInsertRecordClientZip.value; var Keyword = ClientName+ClientAddress+ClientCity+ClientState+ClientZip; document.getElementByIdKeyword.value = Keyword; } document.getElementByIdtestClientsWebForm.onsubmit=concatenate; Quote Link to comment Share on other sites More sharing options...
bahar_vm Posted October 27, 2008 Report Share Posted October 27, 2008 you need to have parantheses around InsertRecordFIELDNAME, you have missed all the parantheses and also you have missed Record after Insert in some cases. document.getElementById(InsertRecordClientAddress).value Best, Bahar M. Quote Link to comment Share on other sites More sharing options...
crisraguilar Posted October 27, 2008 Report Share Posted October 27, 2008 Thanks for your help on this but still no luck. I fixed the errors I made. I am wondering if I am not understanding a particular part of this. I am thinking that this gathers that fields together to make a string and then actually puts it into a field... in this case that field is called keyword. Is that right? FYI... I am putting this script in the footer of a form. The table for that form has a field named Keyword. I have tried it with and without that field in the form. I have also tried the two scripts below but both don't work. function concatenate() { var ClientName = document.getElementById(InsertRecordClientName).value; var ClientAddress = document.getElementById(InsertRecordClientAddress).value; var ClientCity = document.getElementById(InsertRecordClientCity).value; var ClientState = document.getElementById(InsertRecordClientState).value; var ClientZip = document.getElementById(InsertRecordClientZip).value; var Keyword = ClientName+ClientAddress+ClientCity+ClientState+ClientZip; document.getElementById(InsertRecordKeyword).value = Keyword; } document.getElementById(testClientsWebForm).onsubmit=concatenate; ------------------------ ----------- -------------------- function concatenate() { var ClientName = document.getElementById(\"InsertRecordClientName\").value; var ClientAddress = document.getElementById(\"InsertRecordClientAddress\").value; var ClientCity = document.getElementById(\"InsertRecordClientCity\").value; var ClientState = document.getElementById(\"InsertRecordClientState\").value; var ClientZip = document.getElementById(\"InsertRecordClientZip\").value; var Keyword = ClientName+ClientAddress+ClientCity+ClientState+ClientZip; document.getElementById(\"InsertRecordKeyword\").value = Keyword; } document.getElementById(\"testClientsWebForm\").onsubmit=concatenate; Quote Link to comment Share on other sites More sharing options...
bahar_vm Posted October 30, 2008 Report Share Posted October 30, 2008 Sorry, my mistake, you need to enclose them within " " and also the last line needs to be changed to "caspioform" so it looks like: function concatenate() { var ClientName = document.getElementById("InsertRecordClientName").value; var ClientAddress = document.getElementById("InsertRecordClientAddress").value; var ClientCity = document.getElementById("InsertRecordClientCity").value; var ClientState = document.getElementById("InsertRecordClientState").value; var ClientZip = document.getElementById("InsertRecordClientZip").value; var Keyword = ClientName+ClientAddress+ClientCity+ClientState+ClientZip; document.getElementById("InsertRecordKeyword").value = Keyword; } document.getElementById("caspioform").onsubmit=concatenate; This should work. Best, Bahar M. Quote Link to comment Share on other sites More sharing options...
crisraguilar Posted October 31, 2008 Report Share Posted October 31, 2008 Excellent! Worked Perfect! Now I need to see how I can use this. There are really alot of possibilites with this one. Thanks! Another good javascript! Quote Link to comment Share on other sites More sharing options...
yanchuchi Posted December 1, 2008 Report Share Posted December 1, 2008 Is it possible to make an Excel Form to filter and concatenate cells? I have an excel workbook with many worksheets. In each worksheet are the different parts of an ID. Is it possible to create a form in excel to prompt users to answer questions and based on those questions filter out unneed cells and concatenate the left overs to make a unique ID? Quote Link to comment Share on other sites More sharing options...
qsworld Posted February 21, 2009 Report Share Posted February 21, 2009 Hey folks, I too am having similar issues with Concatenation. I have copied the samples that were posted here and am having very little luck. I have placed this script in the footer of my input form. I have a field called "Email_Cell" and that is where I want the concatenation to be applied. I am trying to combine "CellPhone" and "CellPhoneCarier" to the "Email_Cell" field. 1. Do I have to make sure the "Email_Cell" field is visible or hidden or not even used in the form? 2. Does the "Email_Cell" field have to be of a specific type: TextField or TextArea? 3. None of the above... ; ) ---------------- function concatenate() { var CellPhone = document.getElementById("InsertRecordCellPhone").value; var CellPhoneCarier = document.getElementById("InsertRecordCellPhoneCarier").value; var Email_Cell = CellPhone+CellPhoneCarier; document.getElementById("InsertRecordEmail_Cell").value = Email_Cell; } document.getElementById("caspioform").onsubmit=concatenate; ----------------- Quote Link to comment Share on other sites More sharing options...
qsworld Posted February 22, 2009 Report Share Posted February 22, 2009 Ok, I tried something else and it worked! No java needed. I created a table and an entry form, into that table, that contained cell phone number plus a drop down field containing all the email suffixes for all cell phone companies : "@txt.att.net" plus all others. I also created an extra field in the table that the concatenated data will be appended to: "Email_Cell" In the configure fields page, I changed the field, Email_Cell to a hidden field and used a default perameter of: "[@CellPhone][@CellPhoneCarier]; [@Email];" -->just the info inside the quotes. The result worked!! I now have their cell phone and email address getting the confirmation email that Caspio sends out. I hope this is useful to anyone out there. Regards, Qsworld Quote Link to comment Share on other sites More sharing options...
crisraguilar Posted February 25, 2010 Report Share Posted February 25, 2010 Help! I am wondering if the latest updates are not allowing these scripts to work or if I am missing something. I am gone over them several times but cant figure out what I am doing wrong. Any ideas? ------- The Script below I am putting in a reguilar FORM in the footer -------- function concatenate() { var FirstName = document.getElementById("InsertRecordFirstName").value; var LastName = document.getElementById("InsertRecordLastName").value; var City = document.getElementById("InsertRecordCity").value; var Industry = document.getElementById("InsertRecordIndustry").value; var Felony = document.getElementById("InsertRecordFelony").value; var Misdemeanors = document.getElementById("InsertRecordMisdemeanors").value; var WhatShift = document.getElementById("InsertRecordWhatShift").value; var HighlightSummary = FirstName+LastName+City+Industry+Felony+Misdemeanor+WhatShift; document.getElementById("InsertRecordHighlightSummary").value = HighlightSummary; } document.getElementById("caspioform").onsubmit=concatenate; --------- Script Below I am putting in a SEARCH & REPORT in the footer of the details page ------- function concatenate() { var FirstName = document.getElementById("EditRecordFirstName").value; var LastName = document.getElementById("EditRecordLastName").value; var City = document.getElementById("EditRecordCity").value; var Industry = document.getElementById("EditRecordIndustry").value; var Felony = document.getElementById("EditRecordFelony").value; var Misdemeanors = document.getElementById("EditRecordMisdemeanors").value; var WhatShift = document.getElementById("EditRecordWhatShift").value; var HighlightSummary = FirstName+LastName+City+Industry+Felony+Misdemeanor+WhatShift; document.getElementById("EditRecordHighlightSummary").value = HighlightSummary; } document.getElementById("caspioform").onsubmit=concatenate; Quote Link to comment Share on other sites More sharing options...
Kurumi Posted March 11, 2019 Report Share Posted March 11, 2019 Hi @johntgorman, As of July 12, 2018, Caspio introduced new features which you can find here: https://howto.caspio.com/release-notes/caspio-bridge-13-0/ This release includes a new feature, Calculated Values in Submission Forms. This allows you to generate calculations which you can use for you to concatenate your values. Check these videos for more information: I hope this helps! Quote Link to comment Share on other sites More sharing options...
NailDyanC Posted March 21, 2019 Report Share Posted March 21, 2019 Hi. Just to add to the previous comment above, In the new release of Caspio version 17.0 , you can now add the Calculated Value form element to Update Forms and Details Pages to generate dynamic calculations as users interact with your forms. Previously, this feature was only available in Submission Forms. You may also check this link about calculated value: https://howto.caspio.com/datapages/datapage-components/calculated-values/ Also, you can Concatenate two or more fields in your Table using a Formula field and you can use that formula field in your Power search. You may also check this link: https://howto.caspio.com/tables-and-views/data-types/formula-fields/ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.