Article ID: 244397 - Last Review: May 11, 2006 - Revision: 3.0

BUG: JScript Calling Window.prompt Cannot Handle DBCS Correctly

This article was previously published under Q244397

On This Page

Expand all | Collapse all

SYMPTOMS

In some situations, such as the scenario described under "Steps to Reproduce Behavior" in the "More Information" section of this article, strings can be unexpectedly terminated when some part of the string is the result of a prompt() dialog that had double-byte character set (DBCS) characters entered into it.

This only applies to the Japanese versions of Windows 95 and Windows 98.

RESOLUTION

Workaround:

To work around this problem, create your own prompt dialog, Prompt.htm. (Note that you will have to change the charset based on the language that you are targeting.)
<HTML>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<TITLE>HTML Sample</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function SbmtF()
{
	window.returnValue=document.InputForm.UserName.value;
	window.close();

}
</SCRIPT>
<BODY>
<FORM NAME="InputForm">
    <INPUT TYPE="text" NAME="UserName">
    <INPUT TYPE="button" NAME="btnSubmit" value="OK" onClick="SbmtF();">

</FORM>
</BODY>
</HTML>
				
The following is an example of how the preceding page can be used:
<HTML>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<TITLE>HTML Sample</TITLE>
<Script Language="JavaScript">
function btnConstant()
{
	Title1 = "‚ ";
	strLink = Title1 + ">>Added String<<";
	document.FM1.Text1.value =  strLink;
}

function btnAddLink_onclick()
{
	Title1 = showModalDialog("prompt.htm");
 	strLink = Title1 + ">>Added String<<";
	document.FM1.Text2.value =  strLink;

}
</Script>

<BODY>

<FORM name=FM1>
<INPUT type="Text" size=80 value="" id=Text1 name=TextBox1>
<INPUT type="button" value="Constant" id=btnAddLink name=btnAddLnk onClick=btnConstant()><P>

<INPUT type="Text" size=80 value="" id=Text2 name=TextBox2>
<INPUT type="button" value="Prompt" id=btnAddLink name=btnAddLnk onClick=btnAddLink_onclick()><P>

</FORM>
</BODY>
</HTML>
				

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create an HTML page with the following code:
    <HTML>
     <BODY>
     <SCRIPT LANGUAGE="JavaScript">
       var first=window.prompt("YourName?:","");
       document.write("Mr. " + first + " welcome!<BR>");
     </SCRIPT>
    </HTML>
    					
  2. Activate the Japanese Input Method Editor (IME) and type a name using DBCS characters.
  3. Click OK.
Result:
You get "Mr." + [the name entered]. Notice that the word "Welcome" is missing.

REFERENCES

For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites:
http://msdn.microsoft.com/ie/ (http://msdn.microsoft.com/ie/)

http://support.microsoft.com/iep (http://support.microsoft.com/iep)

APPLIES TO
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • Microsoft JScript 3.0
  • Microsoft JScript 4.0
  • Microsoft JScript 5.0
  • Microsoft Japanese Windows 95 1.0
Keywords: 
kbbug kbintl kbintldev kbpending KB244397
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations

 

Related Support Centers