I am trying to clean the input in my form using some Javascript and the IWEventRegistry. I am running into a problem with the onItemchange, It feels like it makes the form run more sluggish. I was thinking it would be great if I could put this onSave, but I am having trouble figuring out how to do this. The script is one that I picked up from here.
Any suggestions or assistance would be much appreciated.
thanks,
Anthony
Anthony BIondoManager, Web Services
AmeriHealth Mercy
[PHP]
// Register a function to be called for every change of Section
IWEventRegistry.addItemHandler("/Root/Paragraphs/RelatedImage/format", "onItemChange", handleFields);
IWEventRegistry.addItemHandler("/Root/Paragraphs/Paragraph", "onItemChange", FilterToHTML);
IWEventRegistry.addItemHandler("/Root/SubTopics/SubParagraph", "onItemChange", FilterToHTML);
IWEventRegistry.addItemHandler("/Root/Disclaimer", "onItemChange", FilterToHTML);
IWEventRegistry.addItemHandler("/Root/MetaData/PageTitle", "onItemChange", FilterToText);
IWEventRegistry.addItemHandler("/Root/MetaData/PageDescription", "onItemChange", FilterToText);
IWEventRegistry.addItemHandler("/Root/MetaData/Keywords", "onItemChange", FilterToText);
IWEventRegistry.addItemHandler("/Root/Header", "onItemChange", FilterToText);
IWEventRegistry.addItemHandler("/Root/Paragraphs/RelatedImage/Label", "onItemChange", FilterToText);
IWEventRegistry.addItemHandler("/Root/SubTopics/SubTitle", "onItemChange", FilterToText);
[/PHP]
[PHP]
function GetMap(){
/* used
http://www.digitalmediaminute.com/reference/entity/index.php as reference */
var Map = new Array();
Map[0] = new Array('\u2019',"'","’");
Map[1] = new Array('\u2014',"--","—");
Map[2] = new Array('\u2013',"-","–");
Map[3] = new Array('\u201C',"''","“");
Map[4] = new Array('\u201D',"''","”");
Map[5] = new Array('\u00A9',"(c)","©");
Map[6] = new Array('\u00AE',"(r)","®");
Map[7] = new Array('\u2026',"...","…");
Map[8] = new Array('\u00A1',"","¡");
Map[9] = new Array('\u00B0'," degrees","°");
Map[10] = new Array('\u00BF',"","¿")
Map[11] = new Array('\u00A1',"","¡")
Map[12] = new Array('\u00C0',"A","À");
Map[13] = new Array('\u00C1',"A","Á");
Map[14] = new Array('\u00C2',"A","Â");
Map[15] = new Array('\u00C3',"A","Ã");
Map[16] = new Array('\u00C4',"A","Ä");
Map[17] = new Array('\u00C5',"A","Å");
Map[18] = new Array('\u00C7',"C","Ç");
Map[19] = new Array('\u00C8',"E","È");
Map[20] = new Array('\u00CA',"E","Ê");
Map[21] = new Array('\u00CB',"E","Ë");
Map[22] = new Array('\u00CC',"I","Ì");
Map[23] = new Array('\u00CD',"I","Í");
Map[24] = new Array('\u00CE',"I","Î");
Map[25] = new Array('\u00CF',"I","Ï");
Map[26] = new Array('\u00D0',"D","Ð");
Map[27] = new Array('\u00D1',"N","Ñ");
Map[28] = new Array('\u00D2',"O","Ò");
Map[29] = new Array('\u00D3',"O","Ó");
Map[30] = new Array('\u00D4',"O","Ô");
Map[31] = new Array('\u00D5',"O","Õ");
Map[32] = new Array('\u00D6',"O","Ö");
Map[33] = new Array('\u00D8',"O","Ø");
Map[34] = new Array('\u00D9',"U","Ù");
Map[35] = new Array('\u00DA',"U","Ú");
Map[36] = new Array('\u00DB',"U","Û");
Map[37] = new Array('\u00DC',"U","Ü");
Map[38] = new Array('\u00DD',"Y","Ý");
Map[39] = new Array('\u00DF',"B","ß");
Map[40] = new Array('\u00E0',"a","à");
Map[41] = new Array('\u00E1',"a","á");
Map[42] = new Array('\u00E2',"a","â");
Map[43] = new Array('\u00E3',"a","ã");
Map[44] = new Array('\u00E4',"a","ä");
Map[45] = new Array('\u00E5',"a","å");
Map[46] = new Array('\u00E7',"c","ç");
Map[47] = new Array('\u00E8',"e","è");
Map[48] = new Array('\u00E9',"e","é");
Map[49] = new Array('\u00EA',"e","ê");
Map[50] = new Array('\u00EB',"e","ë");
Map[51] = new Array('\u00EC',"i","ì");
Map[52] = new Array('\u00ED',"i","í");
Map[53] = new Array('\u00EE',"i","î");
Map[54] = new Array('\u00EF',"i","ï");
Map[55] = new Array('\u00F0',"o","ð");
Map[56] = new Array('\u00F1',"n","ñ");
Map[57] = new Array('\u00F2',"o","ò");
Map[58] = new Array('\u00F3',"o","ó");
Map[59] = new Array('\u00F4',"o","ô");
Map[60] = new Array('\u00F5',"o","õ");
Map[61] = new Array('\u00F6',"o","ö");
Map[62] = new Array('\u00F8',"o","ø");
Map[63] = new Array('\u00F9',"u","ù");
Map[64] = new Array('\u00FA',"u","ú");
Map[65] = new Array('\u00FB',"u","û");
Map[66] = new Array('\u00FC',"u","ü");
Map[67] = new Array('\u00FD',"y","ý");
Map[68] = new Array('\u00FF',"y","ÿ");
return Map;
}
function FilterToText(ThisItem){
var CharMap = GetMap();
InputString = ThisItem.getValue();
for (var i = 0; i < CharMap.length; i++){
var objRegex = new RegExp(CharMap
[0], "g");
InputString = InputString.replace(objRegex,CharMap[1]);
}
ThisItem.setValue(InputString);
}
function FilterToHTML(ThisItem){
// alert("Filtering")
var CharMap = GetMap();
InputString = ThisItem.getValue();
for (var i = 0; i < CharMap.length; i++){
var objRegex = new RegExp(CharMap[0], "g");
InputString = InputString.replace(objRegex,CharMap[2]);
}
ThisItem.setValue(InputString);
}
[/PHP]