faqts : Computers : Programming : Languages : JavaScript : Forms

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

25 of 36 people (69%) answered Yes
Recently 8 of 10 people (80%) answered Yes

Entry

Form to email will send data and redirect the user in IE but not in NN

Jul 3rd, 2001 23:34
Leah-Anne Thompson, Jean-Bernard Valentaten,


At least show us some code. No one can guess what code you're using!
Sorry, here it is - including html
<HTML><HEAD>
<TITLE>.:: Form Validation, Submission and Redirect Problem::.</title>
<script language="JavaScript" type="text/javascript">
<!-- Hide script from older browsers
// This script checks for numeric input only in form fields.
var nr=0;
 function numericCheck(){
  // Eg:  nrl=document.<name of form>.<name of field>.value;
  nr1=document.pform.PHONE.value;
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr1.length;i++){
   cmp="0123456789"
   tst=nr1.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    arw+="^";
   }
   else{arw+="_";}
  }
  if (flg!=0){
   if (spc.indexOf(" ")>-1) {
    str+=" and/or a space";
    }
   alert(nr1+"\r"+arw+"\rI'm sorry. This entry must "
   +"be a number. I found "+flg+" unacceptable characters: "+str+".");
   return false;
  }
  return true;
 }
// End Hiding -->
</SCRIPT>
<script language="JavaScript" type="text/javascript">
<!-- Hide script from older browsers
// This script validates fields, returns error messages, submits form 
and redirects page
// Ensure that ESSENTIAL FIELDS have been filled in.
function CheckFields(pform) {
  // The fields are checked for blanks
  if ( window.document.pform.FIRSTNAME.value   == "" ||
       window.document.pform.SURNAME.value  == "" ||
       window.document.pform.EMAIL.value  == "" ||
       window.document.pform.ADDRESS.value    == "" ||
       window.document.pform.POSTCODE.value    == "" ||
       window.document.pform.PHONE.value    == "" ) {
     alert( "Data in essential fields missing.\nPlease ensure that all 
fields are filled in." );
     return false;
  }
// check for valid email address
else if ( window.document.pform.EMAIL.value.length <= 6 ||
      window.document.pform.EMAIL.value.indexOf ('@', 0) == -1 ||
      window.document.pform.EMAIL.value.indexOf ('.', 0) == -1){
      alert("'' " + pform.EMAIL.value + " '', is not valid Email 
Address.");
      return false;
 }
  else {
     // If reached this far then thank user, submit form and show 
redirect page
	 alert ("'Thank you for your registration submission.'" 
+pform.FIRSTNAME.value + " '' \nPlease wait a moment while your data is 
sent to our server")
     // put your email address in here
     window.document.pform.action="mailto:lsomeone@somewhere.com?
subject=Registration";
     // put the redirect url in here absolute or relative urls can be 
used
	 window.document.location.href="thanks.htm";
     return true;
  }
}
//End Hiding -->
</script>
<!-- Meta contents -->
<meta name="description" content="Form to email with formfield 
validations and redirect">
<meta name="keywords" content="form, forms, validation, redirect, form 
validation, url redirect, javascript">
<meta name="Author" content="Leah-Anne Thompson">
</HEAD>
<!-- Start Page -->
<BODY BGCOLOR="EAEAEA" topmargin=0 leftmargin=0 marginwidth="0" 
marginheight="0">
<p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" 
color="#006600" size="2"><b><font size="3">Form 
  to Email with Form Field Validations & 
Redirect</font></b></font></p>
<table width="550" border="0" align="center">
  <tr>
    <td>
      <p><font face="Verdana, Arial, Helvetica, sans-serif" 
color="#006600" size="2">This 
        form works fine when testing on IE (v.5.5) </font></p>
      <p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" 
color="#006600">Netscape 
        4.74 however, will validate and send the data but does not 
perform the 
        redirect.</font></p>
      <p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" 
color="#006600">Netscape 
        6 will validate the form and perform the redirect but pops open 
a blank 
        email address to the designated address (as defined in the 
JavaScript) 
        but no form field information is present.</font></p>
      <p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" 
color="#006600">Please, 
        Please help me - I am a novce, thank you.</font></p>
</td>
  </tr>
</table>
<p align="left"> </p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" color="#006600" 
size="2"> 
  <!-- Start Form -->
  <!-- The action is called in the javascript function -->
  </font></p>
<form method="POST"  OnSubmit="JavaScript:return CheckFields(this);" 
name="pform" enctype="text/plain">
  <div align="center"><br>
  </div>
  <table cellspacing=0 cellpadding=0 width=450 border=0 height="114" 
align="center">
    <tbody> 
    <tr width=442> 
      <td colspan=4><img  src="1px.gif" height=1 width=442></td>
    </tr>
    <tr> 
      <td width=2 bgcolor=#cccccc rowspan=17><img height=10 
src="images/airshim.gif" width=1></td>
      <td bgcolor=#006600 height="25" colspan="2"> 
        <div align="center"><img height=1 src="images/airshim.gif" 
width=1><font face="Arial, Helvetica, sans-serif" 
color=#bddbf8 size=3><b><font color="#ffffff">Sample 
Form</font></b></font></div>
      </td>
      <td bgcolor=#006600 rowspan="17" height="37" width="1"></td>
    </tr>
    <tr> 
      <td colspan="2" bgcolor=#D2DFCE height="40"> 
        <p><br>
          <font color="#000000" face="Verdana, Arial, Helvetica, sans-
serif" size="2"><b> </b>Yes, 
          add me to your mail list</font><font color="#000000">: 
          <input type="radio" name="ADD_TO_MAIL_LIST" value="Yes">
          <b>Yes 
          <input type="radio" name="ADD_TO_MAIL_LIST" value="No">
          No<br>
          <br>
          </b></font></p>
      </td>
    </tr>
    <tr> 
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15"> 
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top width="220" bgcolor=#D2DFCE> <font color="#000000" 
face="Verdana, Arial, Helvetica, sans-serif" 
size="2"><b>  * </b>First 
        name:</font> </td>
      <td valign=top width="230" bgcolor=#D2DFCE> 
        <div align="left"> 
          <input type=TEXT size=25 name="FIRSTNAME">
        </div>
      </td>
    </tr>
    <tr> 
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15"> 
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top width="220" bgcolor=#D2DFCE> 
        <div align="left"><font color="#000000" face="Verdana, Arial, 
Helvetica, sans-serif" size="2"><b>  * </b>Last 
          name:  </font></div>
      </td>
      <td valign=top width="230" bgcolor=#D2DFCE> 
        <div align="left"> 
          <input type=TEXT size=25 name="SURNAME">
        </div>
      </td>
    </tr>
    <tr> 
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15"> 
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top width="220" bgcolor=#D2DFCE> 
        <div align="left"><font color="#000000" face="Verdana, Arial, 
Helvetica, sans-serif" 
size="2"><b>  * </b>Phone:  </font></div>
      </td>
      <td valign=top width="230" bgcolor=#D2DFCE> 
        <div align="left"> 
          <input type=text name="PHONE" size="25" maxlength="10" 
onBlur="numericCheck()">
        </div>
      </td>
    </tr>
    <tr> 
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15"> 
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top width="220" bgcolor=#D2DFCE> 
        <div align="left"><font color="#000000" face="Verdana, Arial, 
Helvetica, sans-serif" size="2"><b>  * </b>E-
mail:  </font></div>
      </td>
      <td valign=top width="230" bgcolor=#D2DFCE> 
        <div align="left"> 
          <input name="EMAIL" type=TEXT size=25 value="-- your email --
">
        </div>
      </td>
    </tr>
    <tr> 
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15"> 
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top width="220" bgcolor=#D2DFCE> 
        <div align="left">  <font color="#000000" 
face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>* 
          </b>Address:  </font></div>
      </td>
      <td valign=top width="180" bgcolor=#D2DFCE> 
        <div align="left"> 
          <textarea name="ADDRESS" cols="20"></textarea>
        </div>
      </td>
    </tr>
    <tr> 
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15"> 
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top width="220" bgcolor=#D2DFCE> 
        <div align="left"><font color="#000000" face="Verdana, Arial, 
Helvetica, sans-serif" size="2"><b>  *</b> 
          Postcode:  </font></div>
      </td>
      <td valign=top width="230" bgcolor=#D2DFCE> 
        <div align="left"> 
          <input type="text" name="POSTCODE" size="4" maxlength="5">
        </div>
      </td>
    </tr>
    <tr>
      <td valign=middle colspan="2" bgcolor=#D2DFCE height="15" 
align="center">
        <div align="center"><img src="images/1px.gif" width="440" 
height="1" align="absmiddle"></div>
      </td>
    </tr>
    <tr> 
      <td valign=top colspan="2" bgcolor=#D2DFCE height="12" 
align="center"> 
        <p align="center"><font color=000000><font color=000000><font 
face="Verdana, Arial, Helvetica, sans-serif" size="2"><br>
          <script language=JAVASCRIPT type="text/javascript">
		<!-- Add Hidden Fields
		document.write("<INPUT TYPE=hidden NAME='PAGE TITLE' 
VALUE='"+document.title+"'>")
		document.write("<INPUT TYPE=hidden NAME='URL' 
VALUE='"+document.URL+"'>")
		document.write("<INPUT TYPE=hidden NAME='DOMAIN' 
VALUE='"+document.domain+"'>")
		document.write("<INPUT TYPE=hidden NAME='REFERRERED BY' 
VALUE='"+document.referrer+"'>")
		document.write("<INPUT TYPE=hidden NAME='BROWSER USED' 
VALUE='"+navigator.appName+" "+navigator.appVersion+"'>")
		End hiding -->
</script>
          <input type="submit" name="Submit" value="Submit">
          </font></font></font></p>
        <p align="center"> </p>
      </td>
    </tr>
        <tr> 
      <td colspan=4><img src="images/1px.gif" width=450 height=3></td>
    </tr>
    </tbody> 
  </table>
  <br>
</form>
<p>
</BODY>
</HTML>