[prev in list] [next in list] [prev in thread] [next in thread]
List: kfm-devel
Subject: Bug#25000: javascript field checking failing
From: matt () e-i-s ! cc
Date: 2001-04-30 14:47:00
[Download RAW message or body]
Package: khtml
Version: 3.0 (using KDE 2.1.0 )
Severity: normal
Installed from: compiled sources
Compiler: gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
OS: Linux 2.2.14 i686
OS/Compiler notes:
The enclosed code fails on the submit/javascript verification. However, when I \
manually enter in a pin in the manual area (so it will accept the submission) \
Konqueror sends the correct information in all fields. This is an internal site and \
probably home-brewed. Otherwise I'd give you a URL.
Here is the code (snipped where huge):
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>AOLPS - Local Paging</title>
</head>
<body bgcolor="#FFFFFF" background="images/aolpsbg.gif" topmargin="4" leftmargin="5">
<div align="left">
<table border="0" cellspacing="0">
<tr>
<td colspan="2"><table border="0" cellspacing="0" cellpadding="3">
<tr>
<td rowspan="2"><font size="4" face="Arial"><strong><img \
src="images/aolpslogot.gif" alt="Amway Online Paging System" border="0" vspace="5" \
WIDTH="113" HEIGHT="75"></strong></font></td>
<td rowspan="2"><img src="images/animpaget.gif" WIDTH="53" HEIGHT="39"></td>
<td rowspan="2"><img src="images/blank.gif" width="20" height="5"></td>
<td><p align="center"><strong><font face="Arial">Local<br>
Paging</font></strong></td>
<td><font size="1" face="Arial">For sending local (Michigan) pages to any<br>
associate with an alphanumeric pager<br>
issued by Telecommunications in Ada.</font></td>
</tr>
<tr>
<td colspan="2" valign="bottom" align="center"><img \
src="images/ameritech.gif" alt="ameritech.gif (1107 bytes)" WIDTH="96" \
HEIGHT="37"></td> </tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><!--webbot bot="Include" U-Include="menu.htm" TAG="BODY" \
startspan --> <div align="left">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="default.htm"><img src="images/menuhome.gif" alt="Home Page" \
border="0" WIDTH="150" HEIGHT="29"></a></td> </tr>
<tr>
<td><a href="paginghelp.htm"><img src="images/menuhelp.gif" alt="Paging Help" \
border="0" WIDTH="150" HEIGHT="29"></a></td> </tr>
<tr>
<td><MAP NAME="FrontPageMap"><AREA SHAPE="RECT" COORDS="3, 58, 142, 74" \
HREF="custom.htm"><AREA SHAPE="RECT" COORDS="1, 41, 143, 58" HREF="skytel.asp"><AREA \
SHAPE="RECT" COORDS="2, 23, 143, 41" HREF="local.asp"></MAP><a \
href="_vti_bin/shtml.dll/local.asp/map"><img ismap usemap="#FrontPageMap" border="0" \
height="82" alt="Choose a paging option" src="images/menupaging.gif" \
width="150"></a></td> </tr>
<tr>
<td><a href="linking.htm"><img src="images/menulink.gif" alt="How to link to this \
page" border="0" WIDTH="150" HEIGHT="42"></a></td> </tr>
</table>
</div>
<!--webbot bot="Include" endspan i-checksum="55620" -->
</td>
<td width="400"><form action="http://paging.amwaynet/cgi-bin/sendpage.cgi" \
method="GET" name="PagingForm" onsubmit="return FormValidator(this)"> <input \
type="hidden" name="Phone" value="9,451-3777"><input type="hidden" name="result" \
value="http://paging.amwaynet/results.asp"><script language="JavaScript">
<!--
function countChars() {
document.PagingForm.len.value = document.PagingForm.Message.value.length;
}
function FormValidator(theForm)
{
var Public = false;
var Personal= false;
var Pins = false;
// alert("Die WebBot Die!");
// Check to see if any names are selected in the list box
// besides the first one.
//
if (theForm.Name7.selectedIndex > 0)
{
Public = true;
}
if (theForm.Name8.selectedIndex > 0)
{
Personal = true;
}
// Check for content in the PINS fields
//
if (theForm.Name.value.length > 0 )
Pins = true;
if (theForm.Name2.value.length > 0 )
Pins = true;
if (theForm.Name3.value.length > 0 )
Pins = true;
if (theForm.Name4.value.length > 0 )
Pins = true;
if (theForm.Name5.value.length > 0 )
Pins = true;
if (theForm.Name6.value.length > 0 )
Pins = true;
if( !Pins & !Public & !Personal )
{
alert( "You must select name(s) and/or enter PIN number(s).");
theForm.Name7.focus();
return (false);
}
if (theForm.Name.value.length > 12)
{
alert("Please enter at most 12 characters in the \"PIN #1\" field.");
theForm.Name.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.Name.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only digit characters in the \"PIN #1\" field.");
theForm.Name.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.Name2.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only digit characters in the \"PIN #2\" field.");
theForm.Name2.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.Name3.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only digit characters in the \"PIN #3\" field.");
theForm.Name3.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.Name4.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only digit characters in the \"PIN #4\" field.");
theForm.Name4.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.Name5.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only digit characters in the \"PIN #5\" field.");
theForm.Name5.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.Name6.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only digit characters in the \"PIN #6\" field.");
theForm.Name6.focus();
return (false);
}
if (theForm.Message.value == "")
{
alert("Please enter a value for the \"Message Text\" field.");
theForm.Message.focus();
return (false);
}
if (theForm.Message.value.length < 1)
{
alert("Please enter at least 1 characters in the \"Message Text\" field.");
theForm.Message.focus();
return (false);
}
if (theForm.Message.value.length > 170)
{
alert("Please enter at most 170 characters in the \"Message Text\" field.");
theForm.Message.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁ \
ÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-!@#$%^&*()_+-=[]\\{}|;':\",./<>? \
\t\r\n\f"; var checkStr = theForm.Message.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only letter, digit, whitespace and \
\"!@#$%^&*()_+-=[]\\{}|;':\",./<>?\" characters in the \"Message Text\" field."); \
theForm.Message.focus(); return (false);
}
if (theForm.From.value == "")
{
alert("Please enter a value for the \"Signature\" field.");
theForm.From.focus();
return (false);
}
if (theForm.From.value.length < 1)
{
alert("Please enter at least 1 characters in the \"Signature\" field.");
theForm.From.focus();
return (false);
}
if (theForm.From.value.length > 20)
{
alert("Please enter at most 20 characters in the \"Signature\" field.");
theForm.From.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁ \
ÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-!@#$%^&*()_+-={}|[]\\:\";'<>?,./ \
\t\r\n\f"; var checkStr = theForm.From.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Please enter only letter, digit, whitespace and \
\"!@#$%^&*()_+-={}|[]\\:\";'<>?,./\" characters in the \"Signature\" field."); \
theForm.From.focus(); return (false);
}
return (true);
}
//-->
</script>
<script LANGUAGE="JavaScript1.2">
<!--
if( (navigator.appName == "Netscape")
&& (parseInt(navigator.appVersion) >= 4) ) {
document.captureEvents( Event.KEYUP )
document.onkeyup = countChars;
}
if( (navigator.appName == "Microsoft Internet Explorer")
&& (parseInt(navigator.appVersion) >= 4) ) {
document.onkeyup = countChars;
}
//-->
</script>
<div align="center"><center><table border="0" bordercolor="#C0C0C0" cellspacing="0" \
cellpadding="0" width="400"> <tr>
<td><table border="0" cellspacing="0">
<tr>
<td valign="middle"><img src="images/1bullet.gif" align="middle" \
border="0" hspace="3" WIDTH="27" HEIGHT="27"></td> <td valign="middle"><strong><font \
face="Arial" size="2">Enter your message</font></strong><font size="1" \
face="Arial">: (Up to 170 characters)</font></td> </tr>
<tr>
<td></td>
<td><font size="3" face="Arial"><input type="text" size="40" \
maxlength="170" name="Message" onChange="countChars();" tabindex="1"></font></td> \
</tr> <tr>
<td></td>
<td><font size="1" face="Arial">How long is your message? \
Length:</font><font face="Arial" size="2"><input type="text" size="3" name="len" \
tabindex="2"></font></td> </tr>
</table>
</td>
</tr>
<tr>
<td><table border="0" cellspacing="0">
<tr>
<td><img src="../images/2bullet.gif" align="middle" hspace="3"></td>
<td colspan="2"><font face="Arial"><strong><small>Choose page \
recipients:</small></strong>
<small><small>(Any combination, 32 \
max.)</small></small></font></td> </tr>
<tr>
<td rowspan="2"></td>
<td><a href="pagerForm.asp"><img src="images/addname.gif" alt="Add your \
name to the list" border="0" WIDTH="169" HEIGHT="15"></a></td>
<td valign="middle"><a href="personal.asp"><img src="images/modify.gif" \
alt="Modify your personal list" border="0" WIDTH="165" HEIGHT="15"></a></td> </tr>
<tr>
<td><font face="Arial" size="2"><select name="Name7" multiple size="10" \
tabindex="3">
<option selected value="-- Amway's Public List --">-- Amway's Public \
List --</option>
<option value="1002345">2, pager</option>
<option value="1001234">Animal, John</option>
</select></font></td>
<td valign="middle"><select name="Name8" size="10" multiple \
tabindex="4">
<option selected>-- Personal List (Empty) --</option>
</select></td>
</tr>
<tr>
<td rowspan="2"></td>
<td rowspan="2"><font face="Arial" size="2"><strong>PIN Numbers: \
</strong></font><table border="0" cellpadding="2" cellspacing="0"> <tr>
<td><font size="3" face="Arial"><input type="text" size="8" \
maxlength="12" name="Name" tabindex="5"></font></td>
<td><font size="3" face="Arial"><input type="text" size="8" \
name="Name2" tabindex="6"></font></td>
<td><font size="3" face="Arial"><input type="text" size="8" \
name="Name3" tabindex="7"></font></td> </tr>
<tr>
<td><font size="3" face="Arial"><input type="text" size="8" \
name="Name4" tabindex="8"></font></td>
<td><font size="3" face="Arial"><input type="text" size="8" \
name="Name5" tabindex="9"></font></td>
<td><font size="3" face="Arial"><input type="text" size="8" \
name="Name6" tabindex="10"></font></td> </tr>
</table>
</td>
<td valign="bottom"><font face="Arial" size="2"><a \
href="paginghelp.htm#pins">What's a PIN?</a></font></td>
</tr>
<tr>
<td valign="top"><font face="Arial" size="2"><a \
href="pinrequest.htm">What's MY PIN number?</a></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><table border="0" cellspacing="0">
<tr>
<td><font face="Arial" size="2"><img \
src="../images/3bullet.gif"></font></td>
<td valign="middle"><font face="Arial"><strong><small>Sign your \
message:</small></strong> <small><small>(20 chars. max.)</small></small></font></td>
</tr>
<tr>
<td></td>
<td valign="middle"><font face="Arial" size="2">[From:</font><font \
face="Arial" size="5"> </font><font size="3" face="Arial"><input type="text" \
size="20" maxlength="20" name="From" tabindex="11"></font><font face="Arial" \
size="2">]</font></td> </tr>
</table>
</td>
</tr>
<tr>
<td><table border="0" cellspacing="0">
<tr>
<td align="right"><font face="Arial" size="2"><img \
src="../images/4bullet.gif"></font></td>
<td align="right"><font face="Arial" size="2"><input type="submit" \
name="B1" value="Send page" tabindex="12"></font></td>
<td align="center" nowrap valign="middle"><font face="Arial" \
size="2"><strong>-or-</strong> </font></td>
<td nowrap><font face="Arial" size="2"><input type="reset" name="B2" \
value="Reset fields" tabindex="13"></font></td> </tr>
</table>
</td>
</tr>
</table>
</center></div>
</form>
</td>
</tr>
<tr>
<td colspan="2"><!--webbot bot="Include" U-Include="footer.htm" TAG="BODY" \
startspan --> <div align="center"><center>
<table border="0">
<tr>
<td><p align="center"><MAP NAME="FrontPageMap1"><AREA SHAPE="RECT" COORDS="235, \
2, 395, 39" HREF="http://telecomm.amwaynet"><AREA SHAPE="RECT" COORDS="145, 2, 233, \
39" HREF="http://amway.amwaynet"><AREA SHAPE="RECT" COORDS="63, 1, 144, 39" \
HREF="webmailform.asp?subject=the+Online+Paging+System"><AREA SHAPE="RECT" COORDS="1, \
2, 58, 39" HREF="default.htm"></MAP><a href="_vti_bin/shtml.dll/local.asp/map1"><img \
ismap usemap="#FrontPageMap1" border="0" height="44" src="images/footer.gif" \
width="401"></a></td> </tr>
</table>
</center></div>
<!--webbot bot="Include" endspan i-checksum="23144" -->
</td>
</tr>
</table>
</div>
</body>
</html>
(Submitted via bugs.kde.org)
(Called from KBugReport dialog)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic