I am trying to piece together an HTA application that utilizes some VBScript and JavaScript code. When ever I try to use the "Update" button, I get the error Line 187 - Object doesn't support this property or method
This doesn't seem to correspond with what I am trying to perform, but I am thinking that the Javascript that I am calling for these elements is causing some kind of issue. I appreciate any help on this:
Code:<html> <head> <title>Contact Update Assistant</title> <HTA:APPLICATION ID="objNetOps" APPLICATIONNAME="Contact Update Assistant" SCROLL="Yes" SINGLEINSTANCE="yes" WINDOWSTATE="normal" BORDER="dialog" CAPTION="e-Assistant" > <script type="text/javascript" language="javascript"> var reOneOrMoreDigits = /[\d+]/; var reNoDigits = /[^\d]/gi; //*************************************************** function doMask(textBox) { var keyCode = event.which ? event.which : event.keyCode; // enter, backspace, delete and tab keys are allowed thru if(keyCode == 13 || keyCode == 8 || keyCode == 9 || keyCode == 46) return true; // get character from keyCode....dealing with the "Numeric KeyPad" // keyCodes so that it can be used var keyCharacter = cleanKeyCode(keyCode); // grab the textBox value and the mask var val = textBox.value; var mask = textBox.mask; // simple Regex to check if key is a digit if(reOneOrMoreDigits.test(keyCharacter) == false) return false; // get value minus any masking by removing all non-numerics val = val.replace(reNoDigits,''); // add current keystroke val += keyCharacter; // mask it...val holds the existing TextBox.value + the current keystroke textBox.value = val.maskValue(mask); setCaretAtEnd(textBox); return false; } //*************************************************** function onFocusMask(textBox) { var val = textBox.value; var mask = textBox.mask; if(val.length == 0 || val == null) { var i = mask.indexOf('#'); textBox.value = mask.substring(0,i); } setCaretAtEnd(textBox); // set just in case. textBox.maxlength = mask.length; } //*************************************************** function onBlurMask(textBox) { var val = textBox.value; // if no digits blank it. if(reOneOrMoreDigits.test(val) == false) { textBox.value = ''; } } String.prototype.maskValue = function(mask) { var retVal = mask; var val = this; for(var i=0;i<val.length;i++) { retVal = retVal.replace(/#/i, val.charAt(i)); } // get rid of rest of #'s retVal = retVal.replace(/#/gi, ""); return retVal; } //*************************************************** function cleanKeyCode(key) { switch(key) { case 96: return "0"; break; case 97: return "1"; break; case 98: return "2"; break; case 99: return "3"; break; case 100: return "4"; break; case 101: return "5"; break; case 102: return "6"; break; case 103: return "7"; break; case 104: return "8"; break; case 105: return "9"; break; default: return String.fromCharCode(key); break; } } //*************************************************** function setCaretAtEnd(field) { if (field.createTextRange) { var r = field.createTextRange(); r.moveStart('character', field.value.length); r.collapse(); r.select(); } } </script> <SCRIPT Language="VBScript"> Sub Window_Onload Set objWshNet = CreateObject("Wscript.Network") strCN = lcase(objWshNet.ComputerName) strCU = lcase(objWshNet.UserName) Dim objFS, objFile, append append = 8 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objLogFile = objFSO.OpenTextFile("contact_update_access.log", append, True) objLogFile.WriteLine (strCU & " on " & strCN & " " & Now()) objLogFile.Close Set objWSHShell = CreateObject("Wscript.Shell") '36 Msgbox "The application has started." Set objWSHShell = CreateObject("Wscript.Shell") ' Msgbox "The application has started." Set objADSysInfo = CreateObject("ADSystemInfo") strUser = objADSysInfo.UserName Set objUser = GetObject("LDAP://" & strUser) 'msgBox "You current object path is: " & strUser strgivenName = objUser.Get("givenName") strdisplayName = objUser.Get("displayName") MsgBox "Hello, " & strgivenName & "!" '=================================================================== strMyDC = "CSDC002" & "/" 'strMyDC = My Domain Controller Set objADSysInfo = CreateObject("ADSystemInfo") strUser = objADSysInfo.UserName Set objItem = GetObject("LDAP://" & strMyDC & strUser) On Error Resume Next 'GetInfo strStreetAddress = objItem.Get("streetAddress") strPOBOX = objItem.Get("postOfficeBox") strCity = objItem.Get("l") strZIP = objItem.Get("postalCode") strTelephoneNumber = objItem.Get("telephoneNumber") strMobile = objItem.Get("mobile") strTitle = objItem.Get("title") '62 WriteInfo Txt_Add.Value = strStreetAddress 'Txt_POBox.Value = strPOBOX Txt_City.Value = strCity Txt_ZIP.Value = strZIP Txt_PhN.Value = strTelephoneNumber Txt_Cell.Value = strMobile Txt_Title.Value = strTitle End Sub Sub Update Set objADSysInfo = CreateObject("ADSystemInfo") strUser = objADSysInfo.UserName Set objItem = GetObject("LDAP://" & strMyDC & strUser) On Error Resume Next objItem.Put "streetAddress", Txt_Add.Value objItem.Put "l", Txt_City.Value objItem.Put "PostalCode", Txt_ZIP.Value objItem.Put "TelephoneNumber", Txt_PhN.Value objItem.Put "mobile", Txt_Cell.Value objItem.SetInfo 'Line 85 msgbox "Thank you, your information has been saved." End Sub Sub PrintThis Window.Print() End Sub </SCRIPT> </head> <body> <body STYLE="font:12pt arial; color:black; filter:progid:DXImageTransform.Microsoft.Gradient (GradientType=0, StartColorStr='#FFF0F5', EndColorStr='#FAFAD2')"> The purpose of the Contact Update Assistant is to maintain an accurate and current method of contacting you. <br>All of the information requested in this application will be used solely as a means of contacting you in the event of an emergency.<br> <br> <hr> To use this Assistant, enter the requested information and press 'Update' once you are finished.<br> <br> Address:<br> <input type="text" name="Txt_Add" size="50"><br><br> City:<br> <input type="text" name="Txt_City" size="50"><br><br> Zip Code:<br> <input type="text" name="Txt_ZIP" maxlength="5" size="50"><br><br> Cell Phone:<br> <input type="text" name="Txt_Cell" size="50" mask="(###) ###-####" onBlur="return onBlurMask(this);" onFocus="return onFocusMask(this);" onKeyDown="return doMask(this);"><br><br> Telephone:<br> <input type="text" name="Txt_PhN" size="50" mask="(###) ###-####" onBlur="return onBlurMask(this);" onFocus="return onFocusMask(this);" onKeyDown="return doMask(this);"><br><br> Title:<br> <input type="text" name="Txt_Title" size="50"><br><br> <input id=runbutton class="button" type="button" value="Print" name="PrintNow" onClick="PrintThis"> <input id=runbutton class="button" type="button" value="Update" name="UpdateInf" onClick="Update"><br><br> <BUTTON onclick="window.close()">Quit</BUTTON> </body> </html>



Reply With Quote
Bookmarks