#set($cusFieldVarFirstName="firstName") #set($cusFieldVarLastName="lastName") <script> function updatedisplayURLName(){ // get the first & last name entered by the user var firstName = dojo.byId("$cusFieldVarFirstName"); var lastName = dojo.byId("$cusFieldVarLastName"); var fullName = firstName.concat(lastName); alert(fullName); if(fullName == undefined || fullName.value.length ==0){ dojo.byId("displayURLName").innerHTML = ""; dojo.byId("urlName").value=""; return; } // make a friendly url var urlName = fullName.value.toLowerCase(); urlName= urlName.replace(/^\s+|\s+$/g,""); urlName = urlName.replace(/[^a-zA-Z 0-9]+/g,' '); urlName = urlName.replace(/\s/g, "-"); while(urlName.indexOf("--") > -1){ urlName = urlName.replace("--",'-'); } while(urlName.lastIndexOf("-") == urlName.length -1 ){ urlName=urlName.substring(0,urlName.length -1); } // set the values of the display place holder and the custom field // the is to hold the div open dojo.byId("displayURLName").innerHTML = urlName; dojo.byId("urlName").value=urlName; } // attach this the text1 field onchange dojo.addOnLoad(function(){ dojo.connect(dojo.byId("$cusFieldVarLastName"), "onchange", null, "updatedisplayURLName"); } ); // populate the field on load dojo.addOnLoad(updatedisplayURLName); </script> <div id="displayURLName" style="height:20px"> </div>