473,405 Members | 2,160 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

Unterminated string -- within a querystring...?

Hi, this is the first lines of a function. Although it runs, it still
throws an "Unterminated string constant" error in the browser. It is
all in one line, just wouldn't fit here.

The error appears to occur right after type='+typeIn+'&id <----before
the =

Any clues appreciated! Thanks, Kathy
function Anomaly(typeIn,idIn,textIn)
{
newWindow = window.open(('Anomaly.aspx?type='+typeIn+'&id='+id In+'&text='+textIn),
'Anomaly', 'width=650,height=700,left=100,toolbar=no,menubar= no,resizable=yes');
Jul 20 '05 #1
5 5690
On 8 Oct 2003 21:32:48 -0700, in comp.lang.javascript
Ka**********@attbi.com (KathyB) wrote:
| Hi, this is the first lines of a function. Although it runs, it still
| throws an "Unterminated string constant" error in the browser. It is
| all in one line, just wouldn't fit here.
|
| The error appears to occur right after type='+typeIn+'&id <----before
| the =
|
| Any clues appreciated! Thanks, Kathy
|
|
| function Anomaly(typeIn,idIn,textIn)
| {
| newWindow = window.open(('Anomaly.aspx?type='+typeIn+'&id='+id In+'&text='+textIn),
| 'Anomaly', 'width=650,height=700,left=100,toolbar=no,menubar= no,resizable=yes');


You might try breaking the code up-
--------------
function Anomaly(typeIn,idIn,textIn)
{
var URL = "type=" + typeIn + "&id=" + idIn + "&text=" + textIn;

alert ( URL );

newWindow = window.open("Anomaly.aspx?" + URL, "Anomaly",
"width=650,height=700,left=100,toolbar=no,menubar= no,resizable=yes");
}
---------------
Your inputs may have apostrophes which will upset the scheme of
things.
---------------------------------------------------------------
jn****@yourpantsbigpond.net.au : Remove your pants to reply
---------------------------------------------------------------
Jul 20 '05 #2
Thanks. Question, my input will sometimes definitely have apostrophes!
How do I handle that?

Thanks.

Kathy

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 20 '05 #3
Kathy Burke <ka**********@attbi.com> writes:
Question, my input will sometimes definitely have apostrophes! How
do I handle that?


It shouldn't make a difference.

This is perfectly legal:

var x = 'foo\'bar';
var y = "baz'foo";
var z = 'abc'+x+y+'def';

The value of z is the string containing
abcfoo'barbaz'foodef

Your code looked perfectly legal to me, if used in an HTML setting or
an external Javascript file. If you embed it in XHTML, you must turn
the ampersands into &amp; entities.

My guess would be that you inadvertedly inserted a newline without
noticing. That would give the error message that you got.
Otherwise, I would need to see the function in context in order to
say what is wrong. The code you posted is fine in itself.

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #4
Lasse, thanks again for your help. I've including my html output in
hopes that you may see something I don't. I also included an apostrophe
in one of my text items...that, too, gives me an error that jscript is
expecing and } or something. I'm using strictly IE 5.5/6. If you could
look at this, I would be ever so grateful! Thanks.

Kathy

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
<style type="text/css">
bgcolor="#FFFFFF"
h1 {font-family: Gill Sans MT;color: blue;font-size:20pt
font-weight:bold;margin-top:0;margin-bottom:0}
h2 {font-family: Gill Sans MT;color: red;font-size:18pt
font-weight:bold;margin-top:0;margin-bottom:0}
h3 {font-family: Gill Sans MT;color:
white;font-size:14pt;font-weight:bold;margin-top:0;margin-bottom:0}
body {font-family: Gill Sans MT;color: black;font-size:12pt}
p {font-family: Gill Sans MT;color: black;font-size:12pt}
h4 {font-family: Gill Sans MT;color:
white;font-size:12pt;font-weight:bold;text-transform:
uppercase;margin-top:0;margin-bottom:0}
h5 {font-family: Gill Sans MT;color:
white;font-size:12pt;font-weight:bold;margin-top:0;margin-bottom:0}
h6 {font-family: Gill Sans MT;color:
black;font-size:12pt;font-weight:bold;margin-top:0;margin-bottom:0}
</style>
<title>Work Instruction</title><script language="Javascript">
function Anomaly(typeIn,idIn,textIn)
{
newWindow = window.open(('Anomaly.aspx?type=' + typeIn + '&idNo=' +
idIn + '&text=' + textIn), 'Anomaly',
'width=650,height=700,left=100,toolbar=no,menubar= no,resizable=yes');
}
function ValidateSave(formRef,fieldName,min,max) {
var formField = formRef.elements[fieldName];
if (!/^\d+(\.\d+)?$/.test(formField.value)) {
alert('Invalid entry...please try again!');
formField.focus();
formField.select();
return false;
}
if ((formField.value < min) || (formField.value > max)) {
alert("The entry must be between " +min+ " and " +max+ ".");
formField.focus();
formField.select();
return false;
}
else
{
varScroll = document.body.scrollTop;
document.cookie="position="+varScroll;
return confirm("You are about to enter: " +formField.value+ " --
click OK to proceed.");
}
}
function ConfirmSave(formRef,fieldName)
{
var formField = formRef.elements[fieldName];

if ((formField.value.length==0) || (formField.value==null))
{
alert("You are trying to save a blank entry.");
formField.focus();
formField.select();
return false;
}
else {
varScroll = document.body.scrollTop;
document.cookie="position="+varScroll;
return confirm("You are about to enter: " +formField.value+ " --
click OK to proceed.");
}
}
function CheckInput()
{
var cnAll = document.all;
for (var i=0;i<cnAll.length;i++)

if(cnAll(i).type=='text')
{
alert("You must first complete and SAVE all user inputs!");
cnAll(i).focus();
return false;
}
document.cookie="position=0";
return true;
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(off set, end))
}
}
return returnvalue;
}
function myScroll()
{
if (get_cookie("position")!="") {
varScroll = "";
varScroll = get_cookie("position");
window.scrollTo(0, varScroll);
}
}
</script></head>
<body onload="myScroll()">
<h1></h1>
<table border="1" width="100%" cellpadding="4">
<tr bgcolor="red" valign="middle">
<th colspan="3" align="left">
<h3>SAFETY</h3>
</th>
</tr>
<tr>
<td align="center" valign="middle" width="5%"><input style="CURSOR:
POINTER" type="button" value="Anomaly"
onclick="javascript:Anomaly('Safety','1','Static prevention straps and
lab coats must be worn at all
times.')"></td>
<td valign="top">
<table border="0">
<tr>
<td align="left" valign="top">1. *
</td>
<td valign="top">
<p>Static prevention straps and lab coats must be worn at all
times.</p>
</td>
</tr>
</table>
</td>
</tr>
</table><br><table border="1" width="100%" cellpadding="4">
<tr bgcolor="orange" valign="middle">
<th colspan="3" align="left">
<h3>TOOLS AND MATERIALS</h3>
</th>
</tr>
<tr>
<td colspan="2"><b>Tool/Material</b></td>
<td align="center"><b>Jabil Part No.</b></td>
</tr>
</table><br><table border="1" width="100%" cellpadding="4">
<tr bgcolor="navy" valign="middle">
<th align="left" colspan="4">
<h3>PROCESS STEPS</h3>
</th>
<tr onMouseOver="this.bgColor = '#99FFFF'" onMouseOut="this.bgColor =
'#FFFFFF'">
<td align="center" valign="middle"><input style="CURSOR: POINTER"
type="button" value="Anomaly"
onclick="javascript:Anomaly('Step','1','Scan all labels from the sheet
before installing on the boards. The total quantity scanned should equal
the total quantity of the work order.')"></td>
<td valign="top">
<table width="100%" border="0" cellpadding="0">
<tr>
<td valign="top" width="7">
<table border="0" cellpadding="0">
<tr>
<td valign="top" width="7">**</td>
<td valign="top">1.**</td>
</tr>
</table>
</td>
<td>
<p>Scan all labels from the sheet before installing on the boards. The
total quantity scanned should equal the total quantity of the work
order.</p>
</td>
</tr>
</table>
</td>
</tr>
<tr onMouseOver="this.bgColor = '#99FFFF'" onMouseOut="this.bgColor =
'#FFFFFF'">
<td align="center" valign="middle"><input style="CURSOR: POINTER"
type="button" value="Anomaly"
onclick="javascript:Anomaly('Step','2','Install P/N label and S/N label
as shown in visual aid TEST 10-ME40-865-7446-03-LB01
10-ME40-865-7446-03-LB01.')"></td>
<td valign="top">
<table width="100%" border="0" cellpadding="0">
<tr>
<td valign="top" width="7">
<table border="0" cellpadding="0">
<tr>
<td valign="top" width="7">**</td>
<td valign="top">2.**</td>
</tr>
</table>
</td>
<td>
<p>Install P/N label and S/N label as shown in visual aid TEST <a
target="_blank"
href="\\BOSCIM01\CIMBridge\!PROCESS_ENGINEERING\LT X\865-333-03-RAC\LB01.
mdf">10-ME40-865-7446-03-LB01</a><a target="_blank"
href="\\BOSCIM01\CIMBridge\!PROCESS_ENGINEERING\LT X\865-7446-03RBC\LB01.
mdf">10-ME40-865-7446-03-LB01</a>.</p>
</td>
</tr>
</table>
</td>
</tr>
<tr onMouseOver="this.bgColor = '#99FFFF'" onMouseOut="this.bgColor =
'#FFFFFF'">
<td align="center" valign="middle"><input style="CURSOR: POINTER"
type="button" value="Anomaly"
onclick="javascript:Anomaly('Step','3','Kathy's Test -- Load the boards
into the loader or into the EKRA E5 Screen Printer manually, as
required.')"></td>
<td valign="top">
<table width="100%" border="0" cellpadding="0">
<tr>
<td valign="top" width="7">
<table border="0" cellpadding="0">
<tr>
<td valign="top" width="7">**</td>
<td valign="top">3.**</td>
</tr>
</table>
</td>
<td>
<p>Kathy's Test -- Load the boards into the loader or into the EKRA E5
Screen Printer manually, as required.</p>
</td>
</tr>
</table>
</td>
</tr>
<tr onMouseOver="this.bgColor = '#99FFFF'" onMouseOut="this.bgColor =
'#FFFFFF'">
<td align="center" valign="middle"><input style="CURSOR: POINTER"
type="button" value="Anomaly"
onclick="javascript:Anomaly('Step','4','Operate the EKRA E5 Screen
Printer, see LINK if needed.')"></td>
<td valign="top">
<table width="100%" border="0" cellpadding="0">
<tr>
<td valign="top" width="7">
<table border="0" cellpadding="0">
<tr>
<td valign="top" width="7">**</td>
<td valign="top">4.**</td>
</tr>
</table>
</td>
<td>
<p>Operate the EKRA E5 Screen Printer, see LINK if needed.</p>
</td>
</tr>
</table>
</td>
</tr>
</tr>
<form name="finish" action="HiddenFinish.aspx?finish=yes" method="post"
onsubmit="return CheckInput(this);">
<tr bgcolor="red" valign="middle">
<td align="center" valign="middle"><input style="CURSOR: POINTER"
type="submit" name="finish" value="FINISH"></td>
<td align="left">
<font color="white"><b>Click the FINISH button when work instruction is
complete.</b></font>
</td>
</tr>
</form>
</table>
</body>
</html>
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 20 '05 #5
Kathy Burke <ka**********@attbi.com> writes:
I've including my html output in hopes that you may see something I
don't. I also included an apostrophe in one of my text items...that,
too, gives me an error that jscript is expecing and } or something.
I'm using strictly IE 5.5/6. If you could look at this, I would be
ever so grateful!
Ok, I threw this at IE 6. The error report says unterminated string
constant on line 46. That is this line:
return confirm("You are about to enter: " +formField.value+ " --
click OK to proceed.");


Or, more accuratly, these *two* lines.

Maybe your news client have broken the line (which is why you
shouldn't post code with lines longer than about 72 characters, some
newsreaders, including yours, will mangle the code by breaking
lines.).

IE goes on to warn about unterminated string constants on lines:
63, 117, 149, 173, and 221

It also says: Expected ")" on line 198.

Then it starts running and gets "Object expected" on line 107.

I fixed the unterminated string constants by removing the newlines.

The Expected ")" error ended up at line 195, which, sadly, makes no
sense. Line 195 is "</tr>".

Ah. The bug is a few lines further down, at:

onclick="javascript:Anomaly('Step','3','Kathy's Test -- Load the boards into the loader or into the EKRA E5 Screen Printer manually, as required.')"></td>

The ' in Kathy's ends the string, and must be escaped:

onclick="javascript:Anomaly('Step','3','Kathy\'s Test -- Load the boards into the loader or into the EKRA E5 Screen Printer manually, as required.')"></td>

There is no problem having 's in string literals, but you must either
escape them or quote the string literals with "'s instead. In this
case, those would also need to be quoted, since the attribute is
wrapped in double quotes.

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Phil Powell | last post by:
if (document.location.href.indexOf('?') >= 0) document.location.href = document.location.href.substring(0, document.location.href.indexOf('?')); if (document.location.href.indexOf('#') >= 0) {...
0
by: Christopher M. Lauer | last post by:
I have done my best to answer this question but can not find the proper set of commands. I would like to transform an xml file (in code behind) and display its output in a specific html tag,...
1
by: vanitha | last post by:
Hi All, I am using "C" to generate the javascript code. And i am getting the following error message "Unterminated string literal" in the mozilla webbrowser for the following syntax. unsigned...
9
by: Mark | last post by:
I've run a few simple tests looking at how query string encoding/decoding gets handled in asp.net, and it seems like the situation is even messier than it was in asp... Can't say I think much of the...
2
by: Daniel Secomb | last post by:
Hi, I'm using PostgreSQL 7.3.4 on phpPgAdmin 2.4.2 and I'm getting the following error when I try and run a SQL query on a script: Error -...
18
by: William | last post by:
I have the following javascript function that updates a scroll_list and sends the updated entry (with its index) to a server script ( i.e. http://mkmxg00/cgi/confirmUpload.pl ) for further...
2
by: polilop | last post by:
When i open my page in IE it shows an error Unterminated string constant om Line..... When i look at the line it shows the line where the </SCRIPT> tag is ???? Moziila dose not see this error,...
1
by: larrylyons | last post by:
I don't understand why I'm getting Unterminated String Literal error MY JAVASCRIPT function test(){ newWindow =...
7
by: vunet.us | last post by:
I have a function to open new window: function bla(){ newwin = window.open("page.asp?file=1&id=<%=ID %>","Image","other params") } This function works fine mostly, but sometimes, there is a...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.