JSpell stop working in IE 10

Hi Experts,

We have been using JSpell and it stopped working in IE 10 and I see this error.

SCRIPT5007: Unable to get property 'getSpellCheckArray' of undefined or null reference
jspellpopup.html, line 31 character 2

function getSpellCheckArray() {
        var fieldsToCheck=new Array();

        // make sure to enclose form/field object reference in quotes!
        fieldsToCheck[fieldsToCheck.length]='document.forms["myForm"].myField';
        fieldsToCheck[fieldsToCheck.length]='document.forms["myForm"].myOtherField';
        fieldsToCheck[fieldsToCheck.length]='document.forms["myOtherForm"].myField';
        return fieldsToCheck;
}

Open in new window

This is working in IE 9, but not in IE 10.
Any clues?
Thanks in advance...
function getSpellCheckArray() {
        var fieldsToCheck=new Array();

        // make sure to enclose form/field object reference in quotes!
        fieldsToCheck[fieldsToCheck.length]='document.forms["myForm"].myField';
        fieldsToCheck[fieldsToCheck.length]='document.forms["myForm"].myOtherField';
        fieldsToCheck[fieldsToCheck.length]='document.forms["myOtherForm"].myField';
        return fieldsToCheck;
}

Open in new window

dkim18Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
Can you make a very simple sample page and post a link?  Just use one text box and the minimal code to make it work.  Let us know in the minimal set up if you still have issues too.  If you don't, then we may need to see your entire page.
dkim18Author Commented:
This is an intranet link, but I can give you source code for the test site.

This is test.html
html>
<head>
<title>JSpell HTML 2004 Spell Checker Test Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" src="jspell.js"></script>
<script language="JavaScript">
<!--
function getSpellCheckArray() {
        var fieldsToCheck=new Array();

        // make sure to enclose form/field object reference in quotes!
        fieldsToCheck[fieldsToCheck.length]='document.forms["myForm"].myField';
        fieldsToCheck[fieldsToCheck.length]='document.forms["myForm"].myOtherField';
        fieldsToCheck[fieldsToCheck.length]='document.forms["myOtherForm"].myField';
        return fieldsToCheck;
}
var language;
var guiLanguage;
var guiCountry;
//-->
</script>

<!-- This script block is only for the demonstration -->
<script language="JavaScript" type="text/javascript">
<!--
function languageSelect() {
        language=document.myOtherForm.language.options[document.myOtherForm.language.selectedIndex].text;
        if(language=="English (CA)")
        {
                document.myForm.myField.value="Testing the canadian word list.";
                document.myForm.myOtherField.value="Check this \251 'tekst' too!";
                document.myOtherForm.myField.value="Heres the secondt form.";
                guiLanguage="en";
                guiCountry="CA";
        } else
        if(language=="English (US)")
        {
                document.myForm.myField.value="If JSpell is properly installed, then the word, 'jspel', will be corrected.";
                document.myForm.myOtherField.value="Check this \251 'tekst' too!";
                document.myOtherForm.myField.value="Heres the secondt form.";
                guiLanguage="en";
                guiCountry="US";
        } else
        if(language=="English (GB)")
        {
                document.myForm.myField.value="If JSpell is properly installed, then the word, 'jspel', will be corrected.";
                document.myForm.myOtherField.value="The balll is colored red, blue and green.";
                document.myOtherForm.myField.value="This software is optimized.";
                guiLanguage="en";
                guiCountry="GB";
        } else
        if(language=="French (FR)")
        {
                document.myForm.myField.value="On vie une suele fois.";
                document.myForm.myOtherField.value="Qui n'entend qu'une cloch n'entend qu'un son.";
                document.myOtherForm.myField.value="Il faut réfléchr avant d'agir.";
                guiLanguage="fr";
                guiCountry="FR";
        } else
		if(language=="Spanish (ES)")
        {
                document.myForm.myField.value="Mi nomber es miguel.";
                document.myForm.myOtherField.value="Vamos en junio ¿verdad? Mi nombre es Miguel. Yo tengo una tia.";
                document.myOtherForm.myField.value="Yo tengo una tia que toca la guitara.";
                guiLanguage="es";
                guiCountry="ES";
        }
}
//--></script>
</head>

<body onLoad="languageSelect();">
<font size=+2><b>JSpell HTML 2004 Form Spell Checker</b></font><br>
<font size=-2>Copyright &copy; 1996-2004 <a href="http://www.thesolutioncafe.com">The Solution Cafe</a> - All Rights Reserved</font>
<p>
Please press the Spell Check button to verify the<br>
correct installation of JSpell.
<!--form name=myForm method="post" action="" enctype="application/x-www-form-urlencoded"-->
<form name=myForm method="post" action="">
<textarea id="myField" name="myField" rows="3" cols="50" wrap="VIRTUAL">
</textarea><p>
<textarea id="myOtherField" name="myOtherField" rows="2" cols="50" wrap="VIRTUAL">
</textarea>
</form>
<form name=myOtherForm method="post" action="">
<textarea id="myField" name="myField" rows="2" cols="50" wrap="VIRTUAL">
</textarea><p>
<select name=language onchange='languageSelect();'>
 <option>English (US)</option>
 <option>English (CA)</option>
 <option>English (GB)</option>
 <option>French (FR)</option>
 <option>Spanish (ES)</option>
</select>
        <input type="button" name="Button" value="Spell Check" onClick="spellcheck()">
</form>
<p>
See the Getting Started section in the user manual<br>
to add JSpell to your own forms.
</body>
</html>

Open in new window


This is jspell.js
// uncomment these three lines if using IIS and/or adjust the URLS to point to the
// IIS directory where you've located these files. And comment out the next three
// lines.

// var spellCheckURL="http://localhost/jspell_proxy.asp"; // change to point to the JSpell Spell Check Servlet
// var styleSheetURL="http://localhost/jspell.css"; 
// var imagePath="http://localhost/images"; // relative URL to JSpell button images directory
var spellCheckURL="/jspellhtml2k4/JSpell.jsp"; // change to point to the JSpell Spell Check Servlet
var styleSheetURL="/jspellhtml2k4/jspell.css"; 
var imagePath="/jspellhtml2k4/images"; // relative URL to JSpell button images directory

var blankURL="about:blank";
//var blankURL="/jspellhtml2k4/blank.html"; // uncomment if using SSL

var ww;	// holds reference to popup
var jspellpopupurl="/jspellhtml2k4/jspellpopup.html"; // specify location of jspellpopup.html
var disableLearn=false; // set to true, to remove the Learn words capability
var forceUpperCase=false; // force suggestions and spell checker to use upper case
var ignoreIrregularCaps=false;	// ignore lower case sentence beginnings, etc.
var ignoreFirstCaps=false;	// ignore if first character in a field is lowercase
var ignoreNumbers=false; // ignore words with embedded numbers
var ignoreUpper=false; // ignore words in upper case
var ignoreDouble=false; // ignore repeated words
var confirmAfterLearn=false; // show warning before user 'learns' a word
var confirmAfterReplace=true; // show warning when replacing using a word not in the suggestions list.
var supplementalDictionary="supplementdict.txt"; // optional supplemental word list kept at server.
var language="";
var hidePreviewPanel=false; // You can use this to hide the preview panel when running in directEdit mode in IE
var directmode=false; // is highlighting done in original text control or is there a preview panel (IE Windows only)
var ieMode=false; // specify type of highlighting
//var modal=false; // should JSpell Spell Checker dialog be launched using a modal window? (only for IE)
var callbackToParent = false; // callback to calling page if other processing needs to be done

function getSpellCheckItem(jspell_n) {
	var fieldsToCheck=getSpellCheckArray();
	return fieldsToCheck[jspell_n];
}
function updateForm(jspell_m,newvalue) { 
    eval(getSpellCheckItemValue(jspell_m)+"=newvalue"); 
    // RSJ 8/8/2006 Bug Fix 3870
    if(callbackToParent) {
        parent.doUpdate();
    }
}
function getSpellCheckItemValue(jspell_j) { return getSpellCheckItem(jspell_j)+".value"; }
function getSpellCheckItemValueValue(jspell_k) { return eval(getSpellCheckItemValue(jspell_k)); }

function spellcheckWithCallback() {
    callbackToParent = true;
    spellcheck();
}

function spellcheck() {
	var width=520; var height=200;
	if (navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.toLowerCase().indexOf("mac")==-1 && navigator.userAgent.toLowerCase().indexOf("opera")==-1 && hidePreviewPanel==false) {	
		directmode=true; width=290;
		ieMode=true;
	} 

	if (navigator.userAgent.toLowerCase().indexOf("gecko/")>0)
	{
		directmode=true; width=290;
	}

	if(hidePreviewPanel==true)
		width=290;

	var w = 1024, h = 768;
	if (document.all || document.layers)
	{
		w=eval("scre"+"en.availWidth"); h=eval("scre"+"en.availHeight");
	}

	var leftPos = (w/2-width/2), topPos = (h/2-height/2);
	
	ww=window.open(jspellpopupurl, "checker", "width="+width+",height="+height+",top="+topPos+",left="+leftPos+",toolbar=no,status=no,menubar=no,directories=no,resizable=yes");
	ww.focus();
}

function spellCheckClosing() {
	// place code here that will execute when the spell check is complete

	// e.g., alert("Spell Check Complete");

	// NOTE: this code will NOT be called if the client is using a Macintosh 
	// and Internet Explorer due to a bug in Mac IE. Also, this code will not
	// get called if the user closes the spell check dialog without clicking
	// the JSpell generated buttons. To add this functionality you must add
	// onunload calls to 'myOpener.spellCheckClosing()' in all of the body
	// tags of JSpell.jsp. However, this will NOT function on a Macintosh with
	// IE due to a Macintosh IE bug.
}

Open in new window

Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
That's not helping unless you can figure out how to recreate it in jsbin http://jsbin.com/rotikaduva/1/edit?html,output

Check these items
1) Run your rendered code through a validator either by pasting the code or a url if avail http://validator.w3.org/  Things like missing alt tags in an image will not matter but unclosed or outdated tags could.

2) Use your browsers console and note errors  https://msdn.microsoft.com/en-us/library/hh968260%28v=vs.85%29.aspx  Any errors in one place could cascade to something else.  

3) Does the main site work in ie10? https://www.jspell.com/html-spell-checker.html  it shows it supports internet Explorer (4.0, 5.0, IE6, IE7, IE8, IE.next) so kind of old.

4) A good alternative http://www.javascriptspellcheck.com/

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.