• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1490
  • Last Modified:

Frontpage 2003 generated form validation javascript is shown in NS 7.01

Hi!

I have a page with a form on it.
It works fine using IE.
If you use NS 7.01 the page for some reason shows the javascript that Front Page generates to validate the various input fields.

  <FORM ACTION="sendeform.asp" METHOD="POST" onsubmit="return FrontPage_Form1_Validator(this)" language="JavaScript" name="FrontPage_Form1">

Any ideas what I am doing wrong?

Thankyou in advance.
0
TrueBlue
Asked:
TrueBlue
  • 3
  • 2
  • 2
  • +1
1 Solution
 
coreybryantCommented:
That part seems correct.  Have you considered writing your own JS to verify the input fields?

-Corey
0
 
TrueBlueAuthor Commented:
Hi Corey!

Can I copy the FP generated javascript to a .js file and somehow call it instead of the FP function?

Here is the FP generated code: (it seems to be chocking at the 70 value.

<script Language="JavaScript" Type="text/javascript"><!--
function FrontPage_Form1_Validator(theForm)
{

  if (theForm.Name.value == "")
  {
    alert("Please enter a value for the \"Name\" field.");
    theForm.Name.focus();
    return (false);
  }

  if (theForm.Name.value.length > 70)
  {
    alert("Please enter at most 70 characters in the \"Name\" field.");
    theForm.Name.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f";
  var checkStr = theForm.Name.value;
  var allValid = true;
  var validGroups = 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 and whitespace characters in the \"Name\" field.");
    theForm.Name.focus();
    return (false);
  }

  if (theForm.EmailAddress.value == "")
  {
    alert("Please enter a value for the \"EmailAddress\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  if (theForm.EmailAddress.value.length < 5)
  {
    alert("Please enter at least 5 characters in the \"EmailAddress\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  if (theForm.EmailAddress.value.length > 35)
  {
    alert("Please enter at most 35 characters in the \"EmailAddress\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-@. \t\r\n\f";
  var checkStr = theForm.EmailAddress.value;
  var allValid = true;
  var validGroups = 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 \"EmailAddress\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  if (theForm.DaytimePhone.value == "")
  {
    alert("Please enter a value for the \"Daytime Phone\" field.");
    theForm.DaytimePhone.focus();
    return (false);
  }

  if (theForm.DaytimePhone.value.length < 5)
  {
    alert("Please enter at least 5 characters in the \"Daytime Phone\" field.");
    theForm.DaytimePhone.focus();
    return (false);
  }

  if (theForm.DaytimePhone.value.length > 12)
  {
    alert("Please enter at most 12 characters in the \"Daytime Phone\" field.");
    theForm.DaytimePhone.focus();
    return (false);
  }

  var checkOK = "0123456789-()- \t\r\n\f";
  var checkStr = theForm.DaytimePhone.value;
  var allValid = true;
  var validGroups = 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, whitespace and \"()-\" characters in the \"Daytime Phone\" field.");
    theForm.DaytimePhone.focus();
    return (false);
  }
  return (true);
}
//--></script>
0
 
coreybryantCommented:
Honestly, I know nothing about JS,  I would recommend (I can do it) :) is to delete this question for you, paste this information into the JS TA: http://www.experts-exchange.com/Web/Web_Languages/JavaScript/ and ask them - some really great JS coders there

-Corey
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
TrueBlueAuthor Commented:
Hi Corey!

I would greatly appreciate your assistance in moving the question to the JS section.

Thank you in advance.

0
 
justinbilligCommented:
make sure your code is between

<script language="javascript">

</script>

tags
0
 
justinbilligCommented:
oh, change this line

//--></script>

to this

//-->
</script>
0
 
TrueBlueAuthor Commented:
Hi!

Here is a link to the page that works in IE, but not in NS 7.01.
http://www.topsecurityinc.com/eform.asp

Any ideas why the javascript is being displayed?

Thank you in advance.
0
 
jaysolomonCommented:
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function validateForm(theForm)
{
      var isPhone = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/; // (000)000-0000 or (000) 000-0000
      var isEmail = /^[a-z][a-z0-9]*([.\-_][a-z][a-z0-9]*)*@([a-z][a-z0-9]*.)*([a-z]{2}|com|net|org|biz|gov|pro|int|mil|edu|info|name|aero|coop|museum)$/i;
      if(theForm.Name.value.split(" ").join("") == "")
      {
            alert("Please enter your Name.");
            theForm.Name.select();
            theForm.Name.focus();
            return (false);
      }
      if(theForm.Name.value.length > 70)
      {
            alert("Please enter at most 70 characters in the Name field.");
          theForm.Name.focus();
          return (false);
      }
      if(theForm.EmailAddress.value.split(" ").join("") == "")
      {
            alert("Please enter a Email Address.");
            theForm.EmailAddress.select();
            theForm.EmailAddress.focus();
            return (false);
      }
      if (!isEmail.test(theForm.EmailAddress.value))
      {
          alert("The Email Address is NOT in the corect format.");
          theForm.EmailAddress.focus();
          return (false);
      }
       if (theForm.EmailAddress.value.length > 35)
        {
          alert("Please enter at most 35 characters in the Email Address field.");
          theForm.EmailAddress.focus();
          return (false);
        }
      if (theForm.DaytimePhone.value.split(" ").join("") == "")
      {
            alert("Please enter a Daytime Phone Number.");
            theForm.DaytimePhone.select();
            theForm.DaytimePhone.focus();
            return (false);
      }
      if (!isPhone(theForm.DaytimePhone.value))
      {
            alert("The Phone Number is NOT in the correct format:\n...(000)000-0000 or (000) 000-0000.");
            theForm.DaytimePhone.focus();
            return (false);
      }
      if (theForm.DaytimePhone.value.length > 14)
      {
            alert("Please enter at most 14 characters in the \"Daytime Phone\" field.");
            theForm.DaytimePhone.focus();
            return (false);
      }
      return (true);
}
// -->
</script>
</head>
<body>
<form name="form1" method="post" action="" onsubmit="return validateForm(this);">
<input type="text" name="Name">
<input type="text" name="EmailAddress">
<input type="text" name="DaytimePhone">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
0
 
jaysolomonCommented:
Glad to have helped

Thanks
jAy
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now