CustomerTicketMessage und Ajax

Hallo, ich habe die CustomerTicketMessage angepasst um eine Validierung vornehmen zu können. meine CustomerTicketMessage.dtl sack is not defined [Break on this error] var ajax = new sack(); customer.pl (line 138) 1<!-- --> 2<!-- OTRS: Copyright 2001-2006, OTRS Project. This Software is under the GPL. --> 3<!-- Web: http://otrs.org/ - Lists: http://lists.otrs.org/ --> 4<!-- GNU Public License: http://www.gnu.org/licenses/gpl.txt --> 5<!-- --> 6 7 8 9 10<html> 11<head> 12 13 <title>OTRS :: Ticket :: Neues Ticket</title> 14 15<style type="text/css"> 16<!-- 17body { color:black;background-color:#ffffff;font-size:11pt;font-family:Geneva,Helvetica,Arial,Helvetica,sans-serif; } 18a { color:#557799; } 19a:hover { color:#002244;text-decoration:none; } 20pre { font-size:12px;font-family:Courier,monospace,fixed; } 21td,th { font-size:12px;font-family:Geneva,Helvetica,Arial,Helvetica,sans-serif; } 22.header { color:#efefef;font-weight:bold;font-size:16px;font-family:Geneva,Helvetica,Arial,sans-serif; } 23a.headeritem { color:#efefef;text-decoration:none; } 24a.headeritem:hover { color:#dedede;text-decoration:underline; } 25.nav { color:#000000;background-color:#ffffff;font-size:10px; } 26a.navitem { color:#557799;font-size:11px; } 27a.navitem:hover { color:#002244;font-size:11px; } 28.navbar { color:#000000;font-size:12px;font-weight:normal;font-family:Geneva,Helvetica,Arial,sans-serif; } 29a.navitem { color:#557799;font-size:11px; } 30a.navitem:hover { color:#002244;font-size:11px; } 31.menu { color:#000000;background-color:#eeeeee;font-size:12px;vertical-align:top; } 32a.menuitem { color:#557799;font-size:12px; } 33a.menuitem:hover { color:#002244;font-size:12px; } 34.footer { color:#efefef;font-weight:bold;font-size:10px;font-family:Geneva,Helvetica,Arial,sans-serif; } 35a.footeritem { color:#efefef; } 36.small { font-size:10px;font-family:Geneva,Helvetica,Arial,sans-serif; } 37a.small { color:#111111;text-decoration:none;font-family:Geneva,Helvetica,Arial,sans-serif;font-size:10px; } 38form {margin:0px;} 39input {font-family:Geneva,Helvetica,Arial,Helvetica,sans-serif;font-size:12px;} 40.button {color:black;background-color:#dddddd;border-bottom:thin solid #222244;border-right:thin solid #222244;border-top:thin solid #bbbbbb;border-left:thin solid #bbbbbb;font-size:12px;font-family:Verdana,Helvetica,sans-serif;font-weight:normal;} 41.mainhead { color:#000000;background-color:#cccccc;font-size:13px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:bold;vertical-align:top; } 42.mainbody { color:#000000;background-color:#ffffff;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 43.mainkey { color:#000000;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:bold;vertical-align:top; } 44.mainvalue { color:#000000;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 45.contenthead { color:#000000;background-color:#dedede;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:bold;vertical-align:top; } 46.contentbody { color:#000000;background-color:#eeeeee;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 47.contentfooter { color:#000000;background-color:#dedede;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:normal;vertical-align:top;text-align:right; } 48.contentkey { color:#000000;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:normal;vertical-align:top; } 49.contentvalue { color:#000000;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 50.searchactive { color:#000000;background-color:#ffffff;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 51.searchpassive { color:#000000;background-color:#eeeeee;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 52.singleboxhead { color:#000000;background-color:#eeeeee;font-size:13px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:bold;vertical-align:top; } 53.singleboxbody { color:#000000;background-color:#ffffff;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 54.singleboxkey { color:#000000;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;font-weight:normal;vertical-align:top; } 55.singleboxvalue { color:#000000;font-size:12px;font-family:Geneva,Helvetica,Arial,sans-serif;vertical-align:top; } 56--> 57</style> 58</head> 59 60<a name="top"></a> 61<body> 62 63<!-- start CI layout --> 64<table border="0" width="950" cellspacing="0" cellpadding="0"> 65 <tr> 66 <td width="950" class="header"> <img border="0" src="/otrs-web/images/Standard/zdvheader.jpg" width="950" height="135" alt="Logo des ZDV"></td> 67 </tr> 68 <tr> 69 <td colspan="1"> 70<!-- end CI layout --> 71 72<!-- end header --> 73<!-- start Notifications --> 74 75<!-- end Notifications --> 76<!-- start NavigationBar --> 77<table order="0" width="100%" cellspacing="0" cellpadding="3"> 78 <tr> 79 <td valign="top" align="left" width="70%" class="nav"> 80 <table cellspacing="2" cellpadding="2"> 81 <tr> 82<!--start Item--> 83 <td valign="top" align="center" class="nav"> 84 <div title="Abmelden"><a href="/otrs/customer.pl?Action=Logout" accesskey="l" onmouseover="window.status='Abmelden'; return true;" onmouseout="window.status='';" class="navitem"><img border="0" src="/otrs-web/images/Standard/exit.png" alt="Abmelden"><br>Abmelden</a></div> 85 </td> 86<!--stop Item --><!--start Item--> 87 <td valign="top" align="center" class="nav"> 88 <div title="Neues Ticket erstellen"><a href="/otrs/customer.pl?Action=CustomerTicketMessage" accesskey="n" onmouseover="window.status='Neues Ticket'; return true;" onmouseout="window.status='';" class="navitem"><img border="0" src="/otrs-web/images/Standard/new.png" alt="Neues Ticket"><br>Neues Ticket</a></div> 89 </td> 90<!--stop Item --><!--start Item--> 91 <td valign="top" align="center" class="nav"> 92 <div title="Meine Tickets"><a href="/otrs/customer.pl?Action=CustomerTicketOverView&Type=MyTickets" accesskey="m" onmouseover="window.status='Meine Tickets'; return true;" onmouseout="window.status='';" class="navitem"><img border="0" src="/otrs-web/images/Standard/ticket.png" alt="Meine Tickets"><br>Meine Tickets</a></div> 93 </td> 94<!--stop Item --><!--start Item--> 95 <td valign="top" align="center" class="nav"> 96 <div title="Firmen Ticket"><a href="/otrs/customer.pl?Action=CustomerTicketOverView&Type=CompanyTickets" accesskey="c" onmouseover="window.status='Firmen Ticket'; return true;" onmouseout="window.status='';" class="navitem"><img border="0" src="/otrs-web/images/Standard/tickets.png" alt="Firmen Ticket"><br>Firmen Ticket</a></div> 97 </td> 98<!--stop Item --><!--start Item--> 99 <td valign="top" align="center" class="nav"> 100 <div title="Suche"><a href="/otrs/customer.pl?Action=CustomerTicketSearch" accesskey="s" onmouseover="window.status='Suche'; return true;" onmouseout="window.status='';" class="navitem"><img border="0" src="/otrs-web/images/Standard/search.png" alt="Suche"><br>Suche</a></div> 101 </td> 102<!--stop Item --><!--start Item--> 103 <td valign="top" align="center" class="nav"> 104 <div title="Einstellungen"><a href="/otrs/customer.pl?Action=CustomerPreferences" accesskey="p" onmouseover="window.status='Einstellungen'; return true;" onmouseout="window.status='';" class="navitem"><img border="0" src="/otrs-web/images/Standard/prefer.png" alt="Einstellungen"><br>Einstellungen</a></div> 105 </td> 106<!--stop Item --> 107 </tr> 108 </table> 109 </td> 110 <td valign="top" align="right" width="30%" class="nav"> 111 Willkommen Vorname Nachname (vorname@zdv.uni-tuebingen.de)<br> 112 20.06.2007 14:38:19 113 </td> 114 </tr> 115</table> 116<!-- end NavigationBar --> 117<!-- start form --> 118<script type="text/javascript" src="ajax.js"></script> 119<script language="JavaScript" type="text/javascript"> 120 121<!-- 122function submit_compose() 123{ 124 if (document.compose.Subject.value == "") { 125 alert('Eine Nachricht sollte einen Betreff haben!'); 126 document.compose.Subject.focus(); 127 return false; 128 } 129 else if (document.compose.Body.value == "") { 130 alert('Eine Nachricht sollte einen Body haben!'); 131 document.compose.Body.focus(); 132 return false; 133 } 134 else { 135 return true; 136 } 137} 138 var ajax = new sack(); 139 var currentClientID=false; 140 function getClientData() 141 { 142 var clientId = document.getElementByName('TicketFreeText1').value.replace(/[^0-9]/g,''); 143 if(clientId.length==4 && clientId!=currentClientID){ 144 currentClientID = clientId 145 ajax.requestFile = 'getClient.php?getClientId='+clientId; // Specifying which file to get 146 ajax.onCompletion = showClientData; // Specify function that will be executed after file has been found 147 ajax.runAJAX(); // Execute AJAX function 148 } 149 150 } 151 152 function showClientData() 153 { 154 var formObj = document.forms['compose']; 155 eval(ajax.response); 156 } 157 158 159 function initFormEvents() 160 { 161 document.getElementByName('TicketFreeText1').onblur = getClientData; 162 document.getElementByName('TicketFreeText1').focus(); 163 } 164 165 166 window.onload = initFormEvents; 167//--> 168</script> 169 170<table border="0" width="100%" cellspacing="0" cellpadding="3" cols="1"> 171 <tr> 172 <td class="mainhead"> 173 Neues Ticket 174 </td> 175 </tr> 176 <tr> 177 <td class="mainbody"> 178 179 <br> 180 181 <table border="0" width="680" align="center" cellspacing="0" cellpadding="4"> 182 <tr> 183 <td colspan="2" class="contenthead">Optionen</td> 184 </tr> 185 <tr> 186 <td class="contentbody"> 187 188 <form action="/otrs/customer.pl" method="post" name="compose" enctype="multipart/form-data"> 189 <input type="hidden" name="Action" value="CustomerTicketMessage"> 190 <input type="hidden" name="Subaction" value="StoreNew"> 191 <input type="hidden" name="FormID" value="1182343099.4698812.83938827"> 192 <table border="0"> 193 <tr> 194 <td width="15%" class="contentkey">An:</td> 195 <td width="85%" class="contentvalue"><select name="Dest" > 196<option value="3||Junk">Junk</option> 197<option value="4||Misc">Misc</option> 198<option value="1||Postmaster">Postmaster</option> 199<option value="2||Raw">Raw</option> 200</select> 201</td> 202 </tr> 203 <tr> 204 <td class="contentkey">Betreff:</td> 205 <td class="contentvalue"><input type="text" name="Subject" value="" size="70"><font color="red" size="-2"></font></td> 206 </tr> 207 <tr> 208 <td class="contentkey">Text:</td> 209 <td class="contentvalue"><textarea name="Body" rows="15" cols="70" wrap="hard"></textarea><font color="red" size="-2"></font> 210 </td> 211 </tr> 212 <tr> 213 <td class="contentkey">Anlage:</td> 214 <td class="contentvalue"> 215 <table cellspacing="0" cellpadding="0" width="400"> 216 217 <tr> 218 <td colspan="2"><input name="file_upload" type="file" size="40" class="fixed"></td> 219 <td align="right"><input class="button" type="submit" name="AttachmentUpload" value="Anhängen"><a name="attachment"></td> 220 </tr> 221 </table> 222 </td> 223 </tr> 224<!--start Priority--> 225 <tr> 226 <td class="contentkey">Priorität:</td> 227 <td class="contentvalue"> <select name="PriorityID" > 228 <option value="1">1 sehr niedrig</option> 229 <option value="2">2 niedrig</option> 230 <option selected value="3">3 normal</option> 231 <option value="4">4 hoch</option> 232 <option value="5">5 sehr hoch</option> 233</select> 234</td> 235 </tr> 236<!--stop Priority --> 237<!--start FreeText--> 238 <tr> 239 240 <td class="contentkey">Seriennummer<input type="hidden" name="TicketFreeKey1" value="Seriennummer">:</td> 241 <td class="contentvalue"><input type="text" name="TicketFreeText1" value="" size="30"><font color="red" size="-2"></font></td> 242 </tr> 243<!--stop FreeText --><!--start FreeText--> 244 <tr> 245 246 <td class="contentkey">InventarNr<input type="hidden" name="TicketFreeKey2" value="InventarNr">:</td> 247 <td class="contentvalue"><input type="text" name="TicketFreeText2" value="" size="30"><font color="red" size="-2"></font></td> 248 </tr> 249<!--stop FreeText --><!--start FreeText--> 250 <tr> 251 252 <td class="contentkey">IP-Adresse<input type="hidden" name="TicketFreeKey3" value="IP-Adresse">:</td> 253 <td class="contentvalue"><input type="text" name="TicketFreeText3" value="" size="30"><font color="red" size="-2"></font></td> 254 </tr> 255<!--stop FreeText --><!--start FreeText--> 256 <tr> 257 258 <td class="contentkey">Hostname<input type="hidden" name="TicketFreeKey4" value="Hostname">:</td> 259 <td class="contentvalue"><input type="text" name="TicketFreeText4" value="" size="30"><font color="red" size="-2"></font></td> 260 </tr> 261<!--stop FreeText --><!--start FreeText--> 262 <tr> 263 264 <td class="contentkey">BetreutBis<input type="hidden" name="TicketFreeKey5" value="BetreutBis">:</td> 265 <td class="contentvalue"><input type="text" name="TicketFreeText5" value="" size="30"><font color="red" size="-2"></font></td> 266 </tr> 267<!--stop FreeText --> 268 269 </table> 270 271 </td> 272 </tr> 273 <tr> 274 <td class="contentfooter"> 275 <input class="button" accesskey="g" type="submit" value="Übermitteln" onclick="return submit_compose();"> 276 </td> 277 </tr> 278 </table> 279 280 </form> 281 282 <br> 283 284 </td> 285 </tr> 286</table> 287<!-- end form --> 288<!-- start CI layout --> 289</td> 290</tr> 291<tr> 292<td width="950" class="footer"> <img border="0" src="/otrs-web/images/Standard/zdvfooter.jpg" width="950" height="30" alt="Footer des ZDV"></td> 293<td class="footer"></td> 294</tr> 295</table> 296<!-- end CI layout --> 297 298<!-- start footer --> 299<a name="end"></a> 300 301<table border="0" width="800" cellspacing="0" cellpadding="3"> 302<tr> 303<td align="right" class="small">Powered by <a href="http://otrs.org/" class="small">OTRS 2.2.0 beta4</a></td> 304</tr> 305</table> 306 307</body> 308</html> 309<!-- end footer --> und bekomme die Fehlermeldung dass sack nicht definiert ist dabei habe ich die ajax.js in das Verzeichnis der dtl-Datei kopiert. Wer kann mir helfen Wo muss denn nun die ajax.js hinkopiert werden????
participants (1)
-
Ukohfink