CAUSE #1
MooTools doesn’t extend its methods to elements automatically in Internet Explorer.
EXAMPLE
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script>
<script type="text/javascript">
window.addEvent('domready', function(){
document.form.status.set("value", "Success");
});
</script>
</head>
<body>
<form name="form" id="form" action="#">
<input type="text" id="ctrl-status" name="status" value="Failure">
</form>
</body>
</html>
SOLUTION
Use dollar or document.id methods to make all Element methods accessible. In the example above, use this code instead:
$(document.form.status).set("value", "Success");
A better way would be to access element by its ID.
$("ctrl-status").set("value", "Success");
CAUSE #2
MooTools doesn’t extend its methods to some elements such as OBJECT in Internet Explorer.
EXAMPLE
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script>
<script type="text/javascript">
window.addEvent('domready', function(){
$("applet").set("width", "600px");
});
</script>
</head>
<body>
<object id="applet""></object>
</body>
</html>
SOLUTION
Create a wrapper for OBJECT element and manipulate it instead.
CAUSE #3
There is HTML form element with name that matches one of the MooTools Element methods. Error is triggered only when dollar or document.id methods are being used to get form by id.
EXAMPLE
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script>
<script type="text/javascript">
window.addEvent('domready', function(){
var form = $("form");
});
</script>
</head>
<body>
<form name="form" id="form" action="#">
<input type="text" id="ctrl-match" name="match" value="Failure">
</form>
</body>
</html>
SOLUTION
Change element name to something that does not conflict with names of MooTools Element methods. In the example above, change match to match-works.