Solved

Help with Email Field on Sign-Up Form MAKE Email & Email2 Match

Posted on 2006-06-23
2
315 Views
Last Modified: 2008-02-20
Hi,

I have a signup page 1, it is below.
I need a JavaScript that will make Fields Email & Email2 match.  If they don't match then the form would not submit.  I am using the Dreamweaver Form Validator now.

Thanks for the help. Austin

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/inah_SQL.asp" -->
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Redirect if username exists
MM_flag="MM_insert"
If (CStr(Request(MM_flag)) <> "") Then
  MM_dupKeyRedirect="emailinuse.asp"
  MM_rsKeyConnection=MM_inah_SQL_STRING
  MM_dupKeyUsernameValue = CStr(Request.Form("Email"))
  MM_dupKeySQL="SELECT Email FROM dbo.inah_member WHERE Email='" & Replace(MM_dupKeyUsernameValue,"'","''") & "'"
  MM_adodbRecordset="ADODB.Recordset"
  set MM_rsKey=Server.CreateObject(MM_adodbRecordset)
  MM_rsKey.ActiveConnection=MM_rsKeyConnection
  MM_rsKey.Source=MM_dupKeySQL
  MM_rsKey.CursorType=0
  MM_rsKey.CursorLocation=2
  MM_rsKey.LockType=3
  MM_rsKey.Open
  If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then
    ' the username was found - can not add the requested username
    MM_qsChar = "?"
    If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&"
    MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue
    Response.Redirect(MM_dupKeyRedirect)
  End If
  MM_rsKey.Close
End If
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) = "form1") Then

  Session("MM_Email") = Request("Email")
  Session("MM_State") = Request("State")

  MM_editConnection = MM_inah_SQL_STRING
  MM_editTable = "dbo.inah_member"
  MM_editRedirectUrl = "memberaddformB.asp"
  MM_fieldsStr  = "State|value|Email|value|Password|value|Maiden|value"
  MM_columnsStr = "State|',none,''|Email|',none,''|Pass1|',none,''|Maiden|',none,''"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")
 
  ' set the form values
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
      MM_formVal = MM_emptyVal
    Else
      If (MM_altVal <> "") Then
        MM_formVal = MM_altVal
      ElseIf (MM_delim = "'") Then  ' escape quotes
        MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
      Else
        MM_formVal = MM_delim + MM_formVal + MM_delim
      End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_inah_SQL_STRING
Recordset1.Source = "SELECT * FROM dbo.inah_statelist ORDER BY State ASC"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Member Add Form Page 1</title>
<style type="text/css">
<!--
.style2 {
      font-size: 10px;
      font-style: italic;
}
.style3 {font-size: 12px}
.style5 {
      font-family: Arial, Helvetica, sans-serif;
      color: #FFFFFF;
}
.style6 {font-size: 12px; font-family: Arial, Helvetica, sans-serif;}
.style7 {font-family: Arial, Helvetica, sans-serif}
-->
</style>



<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body>

<!--#include file="../admin/signupheader.asp"-->
<form ACTION="<%=MM_editAction%>" METHOD="POST" id="form1" name="form1">
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000066">
  <tr>
        <td>&nbsp;</td>
    <td valign="middle" nowrap><div align="left" class="style5">Step 1 of 3 </div></td>
    <td valign="middle" nowrap><div align="right"></div></td>
      <td>&nbsp;</td>
  </tr>
</table>

  <table width="75%" border="0" align="center">
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><div align="right" class="style6">Select State: </div></td>
      <td><div align="left">
        <select name="State" id="State" tabindex="1" height="19px" style="background-color:#EFEFE5"><option value="Select a State" <%If (Not isNull(" Select a State")) Then If ("Select a State" = CStr(" Select a State")) Then Response.Write("selected=""selected""") : Response.Write("")%>>Select a state</option>
          <%
While (NOT Recordset1.EOF)
%><option value="<%=(Recordset1.Fields.Item("State").Value)%>" <%If (Not isNull(" Select a State")) Then If (CStr(Recordset1.Fields.Item("State").Value) = CStr(" Select a State")) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(Recordset1.Fields.Item("StateLong").Value)%></option>
          <%
  Recordset1.MoveNext()
Wend
If (Recordset1.CursorType > 0) Then
  Recordset1.MoveFirst
Else
  Recordset1.Requery
End If
%>
        </select>
      </div></td>
    </tr>
    <tr>
      <td><div align="right" class="style6">Enter Email Address: </div></td>
      <td><div align="left">
        <input name="Email" type="text" size="30" maxlength="50"tabindex="2" height="19px" style="background-color:#EFEFE5">
      </div></td>
    </tr>
      <tr>
      <td><div align="right" class="style6">Enter Email Again: </div></td>
      <td><div align="left">
        <input name="Email2" type="text" size="30" maxlength="50"tabindex="2" height="19px" style="background-color:#EFEFE5">
      </div></td>
    </tr>
    <tr>
      <td><div align="right" class="style6">Create a Password: </div></td>
      <td><div align="left">
        <input name="Password" type="password" size="30" maxlength="50"tabindex="3" height="19px" style="background-color:#EFEFE5">
      </div></td>
    </tr>
    <tr>
      <td><div align="right" class="style6">Enter Password Again: </div></td>
      <td><div align="left">
        <input type="password" name="Password2" size="30" maxlength="50"tabindex="4" height="19px" style="background-color:#EFEFE5">
      </div></td>
    </tr>
      <tr>
      <td><div align="right" class="style6">Enter Mother's Maiden Name:</div></td>
      <td><div align="left" class="style2">
        <input type="text" name="Maiden" size="30" maxlength="50"tabindex="5" height="19px" style="background-color:#EFEFE5">
        <span class="style3">in case you forget your password </span></div></td>
    </tr>
  </table><br>
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000066">
  <tr>
        <td>&nbsp;</td>
    <td valign="middle" nowrap><div align="left">&nbsp;</div></td>
    <td valign="middle" nowrap><div align="right"><input name="Submit" type="Submit" id="Submit" onclick="MM_validateForm('Email','','RisEmail','Password','','R','Password2','','R');return document.MM_returnValue" value="Continue to Step 2" tabindex="6"></div></td>
      <td>&nbsp;</td>
  </tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>

<p align="center"><span class="style7">We accept</span> <img src="../images/visalogo.jpg" width="100" height="62" align="middle">&nbsp;&nbsp;&nbsp;&nbsp;<img src="../images/mastercardlogo.gif" width="100" height="62" align="middle">&nbsp;&nbsp;&nbsp;&nbsp;<img src="../images/discovercard.jpg" width="100" height="62" align="middle"></p>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
0
Comment
Question by:USCBigRed
2 Comments
 
LVL 1

Accepted Solution

by:
MindPhaze earned 500 total points
ID: 16974825
Just give the inputs an id then you can do something like the following javascript function:

function validateForm()
{
      var email = document.getElementById( "Email" );
      var email2 = document.getElementById( "Email2" );
      if( email.value != email2.value )
      {
            alert( "Fields dont match" );
            return false;
      } else
      {
            return true;
      }
}

then you can change your change your submit button to:
<input name="Submit" type="Submit" id="Submit" onclick="MM_validateForm('Email','','RisEmail','Password','','R','Password2','','R');return document.MM_returnValue && validateForm();" value="Continue to Step 2" tabindex="6">


your input elements would be for that javascript to work:

<input id="Email" name="Email" type="text" size="30" maxlength="50"tabindex="2" height="19px" style="background-color:#EFEFE5" />
<input id="Email2" name="Email2" type="text" size="30" maxlength="50"tabindex="2" height="19px" style="background-color:#EFEFE5" />

just take out the alert if you dont want it
0
 

Author Comment

by:USCBigRed
ID: 16980918
Thanks so much, that worked perfect!!
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
The viewer will learn how to dynamically set the form action using jQuery.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question