Wednesday, February 21, 2018

Quick and easy way to hide and show items on a page with JavaScript



In this scenario, we want to hide/show salary questions IF the user is in certain states:


Step 1: The Form

Form Fields: I added an onClick event to the radio buttons which will kick off the SHOW/HIDE function: 

<input type="radio" value="0" onclick="javascript:showHideSalary();" id="legalStates0" name="legalStates"> NO

<input type="radio" value="1" onclick="javascript:showHideSalary();" id="legalStates1" name="legalStates"> YES





Step 2: The script

Add this script to the top of the page. Here I am saying if the users selects YES to the legal states question, hide the salary div.

<script>
function showHideSalary() {
    if (document.getElementById('legalStates0').checked){
        document.getElementById('salaryDiv').style.display = 'block';  display it
    }
    else document.getElementById('salaryDiv').style.display = 'none'; don't display it

}
</script>




Step 3: The DIV you want to hide. 


<div id="salaryDiv" style="display:none">

* add whatever you want to hide/display here *

</div>


Enjoy and let me know if you have any issues.


Tuesday, October 3, 2017

Bootstrap: Collapse panel with radio buttons

There are many examples of this code that don't have the radio button actually selected.

Here is the code that does so:



<!DOCTYPE html>
<html >
<head>
  <meta charset="UTF-8">
  <title>Bootstrap: Collapse panel with radio buttons</title>
   
   
  <link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'>

      <link rel="stylesheet" href="css/style.css">

   
</head>

<body>
  <h2>Bootstrap: Collapse panel with radio buttons</h2>
<i>A simple method to collapse and expand a Bootstrap collapsable panel using radio buttons</i>

<div class="container">
  <div class="row">
    <div class="col-xs-12">
      <span>Display panel: </span>
      <input name="collapseGroup" type="radio" data-toggle="collapse" data-target="#collapseOne"/> Yes
      <input name="collapseGroup" type="radio" data-toggle="collapse" data-target="#collapseOne" checked/> No
      <div class="panel-group" id="accordion">
        <div class="panel panel-default">
          <div class="panel-heading">
            <h4 class="panel-title">
              Header
            </h4>
          </div>
          <div id="collapseOne" class="panel-collapse collapse">
            <div class="panel-body">
              <p>Content</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
  <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js'></script>

   
</body>
</html>

Friday, August 4, 2017

Find a specific column and/or table in SQL

I'll make this quick and just share the query:

SELECT       c.name  AS 'ColumnName',t.name AS 'TableName'
FROM          sys.columns c
JOIN             sys.tables  t   ON c.object_id = t.object_id
WHERE        c.name LIKE '%addNameHere%'
ORDER BY  TableName   ,ColumnName;


Enjoy!

Thursday, July 7, 2016

Country Select HTML

<select name='Country' size='1'>
  <option value='' SELECTED></option>
  <option value='United States'>United States</option>
  <option value='Canada'>Canada</option>
  <option value='Afghanistan'>Afghanistan</option>
  <option value='Albania'>Albania</option>
  <option value='Algeria'>Algeria</option>
  <option value='American Samoa'>American Samoa</option>
  <option value='Andorra'>Andorra</option>
  <option value='Angola'>Angola</option>
  <option value='Anguilla'>Anguilla</option>
  <option value='Antarctica'>Antarctica</option>
  <option value='Antigua And Barbuda'>Antigua And Barbuda</option>
  <option value='Argentina'>Argentina</option>
  <option value='Armenia'>Armenia</option>
  <option value='Aruba'>Aruba</option>
  <option value='Australia'>Australia</option>
  <option value='Austria'>Austria</option>
  <option value='Azerbaijan'>Azerbaijan</option>
  <option value='Bahamas'>Bahamas</option>
  <option value='Bahrain'>Bahrain</option>
  <option value='Bangladesh'>Bangladesh</option>
  <option value='Barbados'>Barbados</option>
  <option value='Belarus'>Belarus</option>
  <option value='Belgium'>Belgium</option>
  <option value='Belize'>Belize</option>
  <option value='Benin'>Benin</option>
  <option value='Bermuda'>Bermuda</option>
  <option value='Bhutan'>Bhutan</option>
  <option value='Bolivia'>Bolivia</option>
  <option value='Bosnia And Herzegowina'>Bosnia And Herzegowina</option>
  <option value='Botswana'>Botswana</option>
  <option value='Bouvet Island'>Bouvet Island</option>
  <option value='Brazil'>Brazil</option>
  <option value='British Indian Ocean Territory'>British Indian Ocean Territory</option>
  <option value='Brunei Darussalam'>Brunei Darussalam</option>
  <option value='Bulgaria'>Bulgaria</option>
  <option value='Burkina Faso'>Burkina Faso</option>
  <option value='Burundi'>Burundi</option>
  <option value='Cambodia'>Cambodia</option>
  <option value='Cameroon'>Cameroon</option>
  <option value='Canada'>Canada</option>
  <option value='Cape Verde'>Cape Verde</option>
  <option value='Cayman Islands'>Cayman Islands</option>
  <option value='Central African Republic'>Central African Republic</option>
  <option value='Chad'>Chad</option>
  <option value='Chile'>Chile</option>
  <option value='China'>China</option>
  <option value='Christmas Island'>Christmas Island</option>
  <option value='Cocos (Keeling) Islands'>Cocos (Keeling) Islands</option>
  <option value='Colombia'>Colombia</option>
  <option value='Comoros'>Comoros</option>
  <option value='Congo'>Congo</option>
  <option value='Cook Islands'>Cook Islands</option>
  <option value='Costa Rica'>Costa Rica</option>
  <option value='Cote D\'Ivoire'>Cote D\'Ivoire</option>
  <option value='Croatia'>Croatia</option>
  <option value='Cuba'>Cuba</option>
  <option value='Cyprus'>Cyprus</option>
  <option value='Czech Republic'>Czech Republic</option>
  <option value='Denmark'>Denmark</option>
  <option value='Djibouti'>Djibouti</option>
  <option value='Dominica'>Dominica</option>
  <option value='Dominican Republic'>Dominican Republic</option>
  <option value='East Timor'>East Timor</option>
  <option value='Ecuador'>Ecuador</option>
  <option value='Egypt'>Egypt</option>
  <option value='El Salvador'>El Salvador</option>
  <option value='Equatorial Guinea'>Equatorial Guinea</option>
  <option value='Eritrea'>Eritrea</option>
  <option value='Estonia'>Estonia</option>
  <option value='Ethiopia'>Ethiopia</option>
  <option value='Falkland Islands'>Falkland Islands</option>
  <option value='Faroe Islands'>Faroe Islands</option>
  <option value='Fiji'>Fiji</option>
  <option value='Finland'>Finland</option>
  <option value='France'>France</option>
  <option value='France, Metropolitan'>France, Metropolitan</option>
  <option value='French Guiana'>French Guiana</option>
  <option value='French Polynesia'>French Polynesia</option>
  <option value='French Southern Territories'>French Southern Territories</option>
  <option value='Gabon'>Gabon</option>
  <option value='Gambia'>Gambia</option>
  <option value='Georgia'>Georgia</option>
  <option value='Germany'>Germany</option>
  <option value='Ghana'>Ghana</option>
  <option value='Gibraltar'>Gibraltar</option>
  <option value='Greece'>Greece</option>
  <option value='Greenland'>Greenland</option>
  <option value='Grenada'>Grenada</option>
  <option value='Guadeloupe'>Guadeloupe</option>
  <option value='Guam'>Guam</option>
  <option value='Guatemala'>Guatemala</option>
  <option value='Guinea'>Guinea</option>
  <option value='Guinea-Bissau'>Guinea-Bissau</option>
  <option value='Guyana'>Guyana</option>
  <option value='Haiti'>Haiti</option>
  <option value='Heard And Mc Donald Islands'>Heard And Mc Donald Islands</option>
  <option value='Honduras'>Honduras</option>
  <option value='Hong Kong'>Hong Kong</option>
  <option value='Hungary'>Hungary</option>
  <option value='Iceland'>Iceland</option>
  <option value='India'>India</option>
  <option value='Indonesia'>Indonesia</option>
  <option value='Iran'>Iran</option>
  <option value='Iraq'>Iraq</option>
  <option value='Ireland'>Ireland</option>
  <option value='Israel'>Israel</option>
  <option value='Italy'>Italy</option>
  <option value='Jamaica'>Jamaica</option>
  <option value='Japan'>Japan</option>
  <option value='Jordan'>Jordan</option>
  <option value='Kazakhstan'>Kazakhstan</option>
  <option value='Kenya'>Kenya</option>
  <option value='Kiribati'>Kiribati</option>
  <option value='North Korea (People\'s Republic Of Korea)'>North Korea (People\'s Republic Of Korea)</option>
  <option value='South Korea (Republic Of Korea)'>South Korea (Republic Of Korea)</option>
  <option value='Kuwait'>Kuwait</option>
  <option value='Kyrgyzstan'>Kyrgyzstan</option>
  <option value='Lao People\'s Republic'>Lao People\'s Republic</option>
  <option value='Latvia'>Latvia</option>
  <option value='Lebanon'>Lebanon</option>
  <option value='Lesotho'>Lesotho</option>
  <option value='Liberia'>Liberia</option>
  <option value='Libyan Arab Jamahiriya'>Libyan Arab Jamahiriya</option>
  <option value='Liechtenstein'>Liechtenstein</option>
  <option value='Lithuania'>Lithuania</option>
  <option value='Luxembourg'>Luxembourg</option>
  <option value='Macau'>Macau</option>
  <option value='Macedonia'>Macedonia</option>
  <option value='Madagascar'>Madagascar</option>
  <option value='Malawi'>Malawi</option>
  <option value='Malaysia'>Malaysia</option>
  <option value='Maldives'>Maldives</option>
  <option value='Mali'>Mali</option>
  <option value='Malta'>Malta</option>
  <option value='Marshall Islands'>Marshall Islands</option>
  <option value='Martinique'>Martinique</option>
  <option value='Mauritania'>Mauritania</option>
  <option value='Mauritius'>Mauritius</option>
  <option value='Mayotte'>Mayotte</option>
  <option value='Mexico'>Mexico</option>
  <option value='Micronesia'>Micronesia</option>
  <option value='Moldova'>Moldova</option>
  <option value='Monaco'>Monaco</option>
  <option value='Mongolia'>Mongolia</option>
  <option value='Montserrat'>Montserrat</option>
  <option value='Morocco'>Morocco</option>
  <option value='Mozambique'>Mozambique</option>
  <option value='Myanmar'>Myanmar</option>
  <option value='Namibia'>Namibia</option>
  <option value='Nauru'>Nauru</option>
  <option value='Nepal'>Nepal</option>
  <option value='Netherlands'>Netherlands</option>
  <option value='Netherlands Antilles'>Netherlands Antilles</option>
  <option value='New Caledonia'>New Caledonia</option>
  <option value='New Zealand'>New Zealand</option>
  <option value='Nicaragua'>Nicaragua</option>
  <option value='Niger'>Niger</option>
  <option value='Nigeria'>Nigeria</option>
  <option value='Niue'>Niue</option>
  <option value='Norfolk Island'>Norfolk Island</option>
  <option value='Northern Mariana Islands'>Northern Mariana Islands</option>
  <option value='Norway'>Norway</option>
  <option value='Oman'>Oman</option>
  <option value='Pakistan'>Pakistan</option>
  <option value='Palau'>Palau</option>
  <option value='Panama'>Panama</option>
  <option value='Papua New Guinea'>Papua New Guinea</option>
  <option value='Paraguay'>Paraguay</option>
  <option value='Peru'>Peru</option>
  <option value='Philippines'>Philippines</option>
  <option value='Pitcairn'>Pitcairn</option>
  <option value='Poland'>Poland</option>
  <option value='Portugal'>Portugal</option>
  <option value='Puerto Rico'>Puerto Rico</option>
  <option value='Qatar'>Qatar</option>
  <option value='Reunion'>Reunion</option>
  <option value='Romania'>Romania</option>
  <option value='Russian Federation'>Russian Federation</option>
  <option value='Rwanda'>Rwanda</option>
  <option value='Saint Kitts And Nevis'>Saint Kitts And Nevis</option>
  <option value='Saint Lucia'>Saint Lucia</option>
  <option value='Saint Vincent And The Grenadines'>Saint Vincent And The Grenadines</option>
  <option value='Samoa'>Samoa</option>
  <option value='San Marino'>San Marino</option>
  <option value='Sao Tome And Principe'>Sao Tome And Principe</option>
  <option value='Saudi Arabia'>Saudi Arabia</option>
  <option value='Senegal'>Senegal</option>
  <option value='Seychelles'>Seychelles</option>
  <option value='Sierra Leone'>Sierra Leone</option>
  <option value='Singapore'>Singapore</option>
  <option value='Slovakia'>Slovakia</option>
  <option value='Slovenia'>Slovenia</option>
  <option value='Solomon Islands'>Solomon Islands</option>
  <option value='Somalia'>Somalia</option>
  <option value='South Africa'>South Africa</option>
  <option value='South Georgia And The South Sandwich Islands'>South Georgia And The South Sandwich Islands</option>
  <option value='Spain'>Spain</option>
  <option value='Sri Lanka'>Sri Lanka</option>
  <option value='St Helena'>St Helena</option>
  <option value='St Pierre and Miquelon'>St Pierre and Miquelon</option>
  <option value='Sudan'>Sudan</option>
  <option value='Suriname'>Suriname</option>
  <option value='Svalbard And Jan Mayen Islands'>Svalbard And Jan Mayen Islands</option>
  <option value='Swaziland'>Swaziland</option>
  <option value='Sweden'>Sweden</option>
  <option value='Switzerland'>Switzerland</option>
  <option value='Syrian Arab Republic'>Syrian Arab Republic</option>
  <option value='Taiwan'>Taiwan</option>
  <option value='Tajikistan'>Tajikistan</option>
  <option value='Tanzania'>Tanzania</option>
  <option value='Thailand'>Thailand</option>
  <option value='Togo'>Togo</option>
  <option value='Tokelau'>Tokelau</option>
  <option value='Tonga'>Tonga</option>
  <option value='Trinidad And Tobago'>Trinidad And Tobago</option>
  <option value='Tunisia'>Tunisia</option>
  <option value='Turkey'>Turkey</option>
  <option value='Turkmenistan'>Turkmenistan</option>
  <option value='Turks And Caicos Islands'>Turks And Caicos Islands</option>
  <option value='Tuvalu'>Tuvalu</option>
  <option value='Uganda'>Uganda</option>
  <option value='Ukraine'>Ukraine</option>
  <option value='United Arab Emirates'>United Arab Emirates</option>
  <option value='United Kingdom'>United Kingdom</option>
  <option value='United States'>United States</option>
  <option value='United States Minor Outlying Islands'>United States Minor Outlying Islands</option>
  <option value='Uruguay'>Uruguay</option>
  <option value='Uzbekistan'>Uzbekistan</option>
  <option value='Vanuatu'>Vanuatu</option>
  <option value='Vatican City State'>Vatican City State</option>
  <option value='Venezuela'>Venezuela</option>
  <option value='Viet Nam'>Viet Nam</option>
  <option value='Virgin Islands (British)'>Virgin Islands (British)</option>
  <option value='Virgin Islands (U.S.)'>Virgin Islands (U.S.)</option>
  <option value='Wallis And Futuna Islands'>Wallis And Futuna Islands</option>
  <option value='Western Sahara'>Western Sahara</option>
  <option value='Yemen'>Yemen</option>
  <option value='Zaire'>Zaire</option>
  <option value='Zambia'>Zambia</option>
  <option value='Zimbabwe'>Zimbabwe</option>
  <option value='Other - Not Shown'>Other - Not Shown</option>
</select>

State select html

<select name='State' size='1'>
  <option value='' SELECTED>[State]</option>
  <option value='ZZ'>International</option>
  <option value='AL'>AL-Alabama</option>
  <option value='AK'>AK-Alaska</option>
  <option value='AZ'>AZ-Arizona</option>
  <option value='AR'>AR-Arkansas</option>
  <option value='CA'>CA-California</option>
  <option value='CO'>CO-Colorado</option>
  <option value='CT'>CT-Connecticut</option>
  <option value='DC'>DC-Washington D.C.</option>
  <option value='DE'>DE-Delaware</option>
  <option value='FL'>FL-Florida</option>
  <option value='GA'>GA-Georgia</option>
  <option value='HI'>HI-Hawaii</option>
  <option value='ID'>ID-Idaho</option>
  <option value='IL'>IL-Illinois</option>
  <option value='IN'>IN-Indiana</option>
  <option value='IA'>IA-Iowa</option>
  <option value='KS'>KS-Kansas</option>
  <option value='KY'>KY-Kentucky</option>
  <option value='LA'>LA-Louisiana</option>
  <option value='ME'>ME-Maine</option>
  <option value='MD'>MD-Maryland</option>
  <option value='MA'>MA-Massachusetts</option>
  <option value='MI'>MI-Michigan</option>
  <option value='MN'>MN-Minnesota</option>
  <option value='MS'>MS-Mississippi</option>
  <option value='MO'>MO-Missouri</option>
  <option value='MT'>MT-Montana</option>
  <option value='NE'>NE-Nebraska</option>
  <option value='NV'>NV-Nevada</option>
  <option value='NH'>NH-New Hampshire</option>
  <option value='NJ'>NJ-New Jersey</option>
  <option value='NM'>NM-New Mexico</option>
  <option value='NY'>NY-New York</option>
  <option value='NC'>NC-North Carolina</option>
  <option value='ND'>ND-North Dakota</option>
  <option value='OH'>OH-Ohio</option>
  <option value='OK'>OK-Oklahoma</option>
  <option value='OR'>OR-Oregon</option>
  <option value='PA'>PA-Pennsylvania</option>
  <option value='PR'>PR-Puerto Rico</option>
  <option value='RI'>RI-Rhode Island</option>
  <option value='SC'>SC-South Carolina</option>
  <option value='SD'>SD-South Dakota</option>
  <option value='TN'>TN-Tennessee</option>
  <option value='TX'>TX-Texas</option>
  <option value='UT'>UT-Utah</option>
  <option value='VT'>VT-Vermont</option>
  <option value='VA'>VA-Virginia</option>
  <option value='WA'>WA-Washington</option>
  <option value='WV'>WV-West Virginia</option>
  <option value='WI'>WI-Wisconsin</option>
  <option value='WY'>WY-Wyoming</option>
</select>

Friday, January 22, 2016

Dynamically update multiple rows in one form

This is one of those functions that I have avoided for a long time.

I decided that is was time for me to tackle it so here goes.

Scenario:

You have a form with multiple rows.

You need to perform CRUD on the records all in one place. (Brain starting to hurt yet?)

Don't worry. It's fairly easy.

Step 1 - Retrieve your records:

<cfquery name="getArt" datasource="cfartgallery" maxrows="10"> 
select artid, artname from art 
</cfquery>

Step 2 - Build Your Form.

#currentRow# is used to give each row a unique identifier and I pass the row count as a hidden field to use to loop through the fields once submitted (see red highlights below).

<form action="formLoopUpdate.cfm" method="post">
  <table>
    <cfloop query="getArt">
      <tr> <cfoutput>
          <td>
          <input type="text" name="art#currentRow#" value="#artname#" />
          <input type="hidden" name="artID#currentRow#" value="#artID#" />
          </td>
        </cfoutput> </tr>
    </cfloop>
  </table>
  
  <input type='hidden' name='totalNumberOfRecords' value='<cfoutput>#getArt.recordCount#</cfoutput>'>
  
  <input type="submit" name="save" value="Save" />
</form>


3. Submit and save

No need for commentary here. It's explains itself.

<cfif structKeyExists(form, "save")>
   
        <cfloop from="1" to="#form.totalNumberOfRecords#" index="counter">
          <!--- extract the values of the dynamic form fields --->
          <cfset art   = form["art"   & counter]>
          <cfset artID   = form["artID"   & counter]>
    
            <cfquery datasource="cfartgallery"> 
                    update art 
                    set artname = <cfqueryparam cfsqltype="cf_sql_varchar" value="#art#"> 
                    where artid = <cfqueryparam cfsqltype="cf_sql_integer" value="#artid#"> 
            </cfquery> 
    
         </cfloop>
    
    
    </cfif>


That's it.

Let me know what you think or how this could have been done differently.

-MB



Another example:



<cfloop from="1" to="#form.totalNumberItems#" index="counter">


<!--- update category order --->

<cfif isdefined("form.categoryOrder#counter#")> 


<cfset categoryOrder = form["categoryOrder"   & counter]>

<cfset categoryID   = form["categoryID"   & counter]>


<cfquery name="updateCategoryOrder" datasource="#application.var#"> 

update Checklist_Category 

set sortOrder = <cfqueryparam cfsqltype="cf_sql_integer" value="#categoryOrder#"> 

where categoryID = <cfqueryparam cfsqltype="cf_sql_integer" value="#categoryID#"> 

</cfquery>  


</cfif>    



<!--- update checklist item order --->

<cfif isdefined("form.checkListOrder#counter#")> 


<cfset checkListOrder = form["checkListOrder"   & counter]>

<cfset checkDetailID    = form["checkDetailID"    & counter]>


<cfquery name="updateCheckListOrder" datasource="#application.var#"> 

update Checklist_Admin 

set sortOrder = <cfqueryparam cfsqltype="cf_sql_integer" value="#checkListOrder#"> 

where checkDetailID = <cfqueryparam cfsqltype="cf_sql_integer" value="#checkDetailID#"> 

</cfquery> 


</cfif>

</cfloop>


</cfif>



Tuesday, October 6, 2015

Remove Trailing Characters with Javascript

This is not CF but it sure comes in handy.

If for any reason you need to get rid pesky trailing characters, here's the script:

<script>
function trimTrailingChars(s, charToTrim)
   {
     var regExp = new RegExp(charToTrim + "+$");
     var result = s.replace(regExp, "");

     return result;
   }
</script>




And here is how you use it in your code:

var sText = trimTrailingChars(sText, ',');


Note the red text above. Change the comma to whatever you want to get rid of.