Page 1 of 1
IE: Object doesn't support this method or property
Posted: Fri May 18, 2007 8:16 pm
by thiscatis
Hi!
IE is giving me this error or a javascript:
"IE: Object doesn't support this method or property"
It does work in Firefox.
It's about these lines:
Code: Select all
<form action="javascript:get(document.getElementById('newsletter'));" name="newsletter" id="newsletter">
<input class="field" name="email" id="email" type="text" />
<input class="button" type="button" name="button" value="Sign Up" onclick="javascript:get(this.parentNode);" />
</form>
Posted: Fri May 18, 2007 11:25 pm
by Kieran Huggins
"get" isn't a built-in javascript function - maybe there was an accompanying "function get(){...}" where you grabbed the code from. Sounds like a custom AJAX function to me.
Posted: Sat May 19, 2007 6:59 am
by thiscatis
The function is defined in the head tag.
It does work in Firefox!
Posted: Sat May 19, 2007 7:03 am
by feyd
I don't recall IE supporting "this.parentNode."
Posted: Sat May 19, 2007 8:25 am
by thiscatis
Damn
Any alternatives for this:
Code: Select all
<form action="javascript:get(document.getElementById('newsletter'));" name="newsletter" id="newsletter">
<input class="field" name="email" id="email" type="text" />
<input class="button" type="button" name="button" value="Sign Up" onclick="javascript:get(this.parentNode);" />
</form>
<span id="result">
</span>
newsletter.js
Code: Select all
/ Newsletter
var http_request = false;
function makePOSTRequest(url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('result').innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}
function get(obj) {
var poststr = "email=" + encodeURI( document.getElementById("email").value );
makePOSTRequest('join.php', poststr);
}
Posted: Sat May 19, 2007 9:03 am
by Chris Corbyn
feyd wrote:I don't recall IE supporting "this.parentNode."
I'm pretty sure IE supports the parentNode property. I could swear I've used it myself before plenty of times
