Solved

Remove item on an onclick event

Posted on 2008-10-28
9
547 Views
Last Modified: 2012-06-21
IE7..
CRM 4.0..
Javascript..

I have an object with an onclick event that I want to remove. The onclick is set within existing CRM code. I want to replace it with my own event.

However, I have the assumed method..

crmForm.all["ts_addressesid"].detachEvent("onclick", openlui);  

..but this doesnt seem to do anything. One thing to note is that the function openlui is declared in an external file.

Any help is most appreciated!
0
Comment
Question by:djdidge
  • 6
  • 3
9 Comments
 
LVL 4

Expert Comment

by:gregowens
ID: 22820945

crmForm.all["ts_addressesid"].onclick = null;

Open in new window

0
 
LVL 2

Author Comment

by:djdidge
ID: 22821010
hi greg,

That didnt work..

Cheers
0
 
LVL 2

Author Comment

by:djdidge
ID: 22821274
the onclick is not visible in the html, i assume some wizardry has covertly attached the openlui function somehow...

Basically when i click the said image object, i get a crm lookup popup. That is what im trying to stop.
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 4

Expert Comment

by:gregowens
ID: 22821354
What are you trying to acheive for the end user? Would setting the the field to disabled or read-only not be an option instead? At least it would be "supported".
 

crmForm.all.ts_addressesid.disabled = true;

Open in new window

0
 
LVL 4

Accepted Solution

by:
gregowens earned 95 total points
ID: 22821392
Incidentally, the reason the original code doesn't work (hadn't realised it was the built-in lookup function you were looking to disable) is because the function is not attached to the onclick event of the ts_addressesid object, rather it is attached to a SPAN tag within the control. Manipulating the DOM at that level is *not* the way to go ;)
 
 
0
 
LVL 2

Author Comment

by:djdidge
ID: 22821396
I need to replace the event with my own... the image button is part of a crm lookup field, i need to retain the control but fire a different event when clicking the image.

I have sucessfully added my own event using:

crmForm.all["ts_addressesid"].attachEvent("onclick", test);

that works fine and fires the function "test".

However, after that, the other event fires.

0
 
LVL 2

Author Comment

by:djdidge
ID: 22821543
i know its not CRM supported, but to be honest, most of the customisations we're having to do arent!... i cant find the said span... but i have found the CRM code that sets it..

taken from lookup.js in the CRM deployment
------------------------------------------
 
 
function BuildFieldSpan(lookupField, lookupItems)
{
var html = "";
var len = lookupItems.items.length;
for (var i = 0; i < len; ++i)
{
var item = lookupItems.items[i];
 
html += (i > 0 ? " " : "");
 
var e = parent.document.createElement("SPAN");
 
e.className	= "ms-crm-Lookup-Item";
e.oid		= item.id;
e.otype		= item.type;
e.innerHTML	= item.html;
e.onclick	= "openlui();";
 
html += e.outerHTML;
}
if (html.length == 0)
{
html = "&nbsp;";
}
return html;
}

Open in new window

0
 
LVL 2

Author Comment

by:djdidge
ID: 22821573
scratch that... ive found it in the source html, but strangely, its not findable using the IE Dev toolbar!
0
 
LVL 2

Author Comment

by:djdidge
ID: 22821599
I am going to manually re-write the html on the fly to remove it! shhhh! ;)
0

Featured Post

ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part 1 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7849-Hex-Maze.html) we covered the hexagonal maze basics -- how the cells are represented in a JavaScript array and how the maze is displayed.  In this part, we'…
On Sep 22nd 2014 Microsoft released Update Rollup 1 for Microsoft Dynamics CRM 2013 Service Pack 1 and back in July Update Rollup 3 was released.  So we now have:   Update Rollup 1Update Rollup 2Update Rollup 3Service Pack 1Update Rollup 1 for S…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question