[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">:&nbsp; (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?&nbsp; \
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>
              &nbsp; <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