Solved

change existing validation to onsubmit

Posted on 2007-11-16
12
253 Views
Last Modified: 2012-06-27
I've got a rather complex set of scripts that validate fields as they are populated. As it turns out, it would be better for me to preform all validation on submit. See my form and code below. One think I'd like to add: No select menus on the page should be allowed to remain on options[0]. Thanks
<html>
<head>
 
<title>Request Form</title>
<script type='text/javascript'>
  var required = 'RequestedBy,TrackingID,SchoolDiv,FromEmail,SchoolAgency,SchoolAddrStreet,SchoolAddrCity,PhoneNum,SchoolZip'.split( ',' );
  var emailRegEx = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
 
//------------------------------------------------------------------
  // Name: showHide
  // Role: To set the style.display of the specified element to the
  //       specified setting (i.e., none, inline, block)
  //------------------------------------------------------------------
  function showHide( id, setting ) {
    var field = document.getElementById( id );
    if ( field ) {
      field.style.display = setting;
    }
  }
  
  //------------------------------------------------------------------
  // Name: requiredCheck
  // Role: Verify that all required fields have non-blank values.
  //       Each input element should have an associated verification
  //       routine that will empty the field if the value is invalid.
  //------------------------------------------------------------------
  function requiredCheck() {
    var button = document.getElementById( 'submitBtn' );
    button.disabled = true;
    var ok = true;
    for ( var i = 0; i < required.length; i++ ) {
      var id = required[ i ];
      var field = document.getElementById( id );
      if ( field ) {
        if ( field.nodeName == 'SELECT' ) {
          ok = ( field.selectedIndex > 0 );
        } else {
          if ( field.value == '' ) {
            ok = false;
          }
        }
      } else {
        alert( 'Required field not found: "' + id + '"' );
      }
    }
    if ( ok ) {
      button.disabled = false;
    }
    return ok;
  }
 
  //------------------------------------------------------------------
  // Name: Chaffee
  // Role: Verify required selection has been made
  //------------------------------------------------------------------
  function Chaffee( obj ) {
    var button = document.getElementById( 'submitBtn' );
    if ( button && ( 'disabled' in button ) ) {
      button.disabled = !( ( obj.value == 'yes' ) && requiredCheck() );
    }
  }
 
  //------------------------------------------------------------------
  // Name: toggle
  // Role: Used to hide/display the ChaffeeMsg section based upon the
  //       radio button selection
  //------------------------------------------------------------------
  function toggle( val ) {
    var agree = document.getElementById( 'agree' ).checked;
    var button = document.getElementById( 'submitBtn' );
    if ( val == 1 ) {
      showHide( 'ChaffeeMsg', 'inline' );
      document.RequestForm.NonChaffee[1].checked = 'true';
      button.disabled = !( agree && requiredCheck() );
    } else if ( val == 2 ) {
      showHide( 'ChaffeeMsg', 'none' );
      document.RequestForm.NonChaffee[0].checked = 'true';
      requiredCheck();
    }
  }
 
//------------------------------------------------------------------
  // Name: divCheck
  // Role: Used to check/verify that the specified field has a valid
  //       school division selection
  //------------------------------------------------------------------
  function divCheck( field ) {
    if ( field.selectedIndex == 0 ) {
      alert( 'Please select a School Division.' );
      setTimeout( 'focusOn("' + field.id + '")', 10 );
    } else {
      requiredCheck();
    }
  }
 
  //------------------------------------------------------------------
  // Name: idCheck
  // Role: Used to check/verify that the specified field has a valid
  //       (i.e., numeric) identification number.
  //------------------------------------------------------------------
  function idCheck( field ) {
    var val = field.value;
    if ( val.search( /^(\d{6}$)/ ) ) {
      alert( 'Invalid id: ' + val );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
  
  //------------------------------------------------------------------
  // Name: nameCheck
  // Role: Used to check/verify that the specified field has a valid
  //       name (i.e., 2 words, separated by non-words).
  //------------------------------------------------------------------
  function nameCheck( field ) {
    var val = field.value;
    if ( val.search( /^(\w+\W+\w+)?$/ ) == -1 ) {
      alert( 'Invalid name: ' + val );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
 
  //------------------------------------------------------------------
  // Name: agencyCheck
  // Role: Used to check/verify that the specified field is populated.
  //------------------------------------------------------------------
  function agencyCheck( field ) {
    var val = field.value;
    if ( val.search( /(\w+)/ ) == -1 ) {
      alert( 'Please fill in the School/Agency field.' );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
 
  //------------------------------------------------------------------
  // Name: streetCheck
  // Role: Used to check/verify that the specified field is populated.
  //------------------------------------------------------------------
  function streetCheck( field ) {
    var val = field.value;
    if ( val.search( /\w+/ ) == -1 ) {
      alert( 'Please fill in the School street address field.' );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
//------------------------------------------------------------------
  // Name: cityCheck
  // Role: Used to check/verify that the specified field is populated.
  //------------------------------------------------------------------
  function cityCheck( field ) {
    var val = field.value;
    if ( val.search( /\w+/ ) == -1 ) {
      alert( 'Please fill in the School city field.' );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
 
  //------------------------------------------------------------------
  // Name: zipCheck
  // Role: Used to check/verify that the specified field is populated.
  //------------------------------------------------------------------
  function zipCheck( field ) {
    var val = field.value;
    if ( val.search( /^(\d{5}?$)/ ) ) {
      alert( 'Please fill in the School zip code' + val );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
 
  //------------------------------------------------------------------
  // Name: phoneCheck
  // Role: Used to check/verify that the specified field is populated
  // properly.
  //------------------------------------------------------------------
  function phoneCheck( field ) {
    var val = field.value;
    if (! val.match( /^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/ ) ) {
      alert( 'Please fill in the School phone number. Use this format: ###-###-####' + val );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
 
  //------------------------------------------------------------------
  // Name: focusOn( element )
  // Role: Provide a way to delay the field.focus() request
  // Note: The Gecko engine (Mozilla, Firefox, et.al.) prior to 1.5.1
  //       may throw an uncatchable excption 'Permission denied'.
  //------------------------------------------------------------------
  function focusOn( id ){
    var field = document.getElementById( id );
    if ( field ) {
      field.focus();
      if ( field.type == 'radio' ) {
        field.checked = true;
      }
    } else {
      alert( 'Unknown document element. id = "' + id + '"' );
    }
  }
 
  //------------------------------------------------------------------
  // Name: emailCheck
  // Role: Used to check/verify that the specified field has a valid
  //       email address.
  //------------------------------------------------------------------
  function emailCheck( field ) {
    var val = field.value;
    if ( val.search( emailRegEx ) == -1 ) {
      alert( 'Invalid address: ' + val );
      field.value = '';
      if ( 'id' in field ) {
        setTimeout( 'focusOn("' + field.id + '")', 10 );
      }
    } else {
      requiredCheck();
    }
  }
</script>
 
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0 px;
	margin-bottom: 0px;
}
.white {
                color:FFFFFF
}
-->
</style>
</head>
 
<body onload="document.RequestForm.FromName.focus();">
<form name="RequestForm" action="RequestEmail.asp" method="post">
<table width="100%"  border="0" cellpadding="0" cellspacing="0" bgcolor="003399">
  <tr>
    <td width="83%" align="left" valign="middle"><img src="AIMVAbannerText.gif" alt="AIMVA Banner" width="750" height="100" align="middle"></td>
    <td width="17%" align="right"><img src="AIMVAlogo272.gif" alt="AIMVA Logo" width="272" height="127"></td>
  </tr>
  <tr bgcolor="#FE6732">
    <td colspan="2"><img src="trans.gif" width="200" height="8"></td>
  </tr>
</table>
<br/>
<a href="javascript:window.close()" class="closeLink">Close Cart</a><table width="909" cellpadding="4" cellspacing="3" align="center">
    <tr>
      <td height=45 colspan="8" border=1 class="tblHeader" align="center">Item Request Form</td>
    </tr>
    <tr>
      <td height=23 colspan="8">&nbsp;</td>
    </tr>
    <tr>
      <td height=5 colspan="8" bgcolor="#000066"><span class="white">Section 1 - About You </span></td>
    </tr>
    <tr>
      <td width="122" nowrap><span class="mailLabel">Your name<br/>(first last)<span style="color:red">*</span></span></td>
      <td width="105"><input name='FromName' type='text' id='RequestedBy' onBlur='nameCheck(this)' size='20' style="height:22"></td>
      <td width="118" nowrap><span class="mailLabel">Your <br>
      school/agency<span style="color:red">* </span></span></td>
      <td width="116"><input type="text" id="SchoolAgency" name="SchoolAgency" onBlur="agencyCheck(this)" size="20" style="height:22"></td>
      <td width="114"><span class="mailLabel">District/division<span style="color:red">*</span></span></td>
      <td colspan="3"><select name="SchoolDiv" class="inline" id="SchoolDiv" onBlur="divCheck(this)" style="height:22;font-size:12px">
          <option></option>
          <option value="Option1">Option 1</option>
          <option value="Option2">Options 2</option>
          <option value="Option3">Options 3</option>
        </select></td>
    </tr>    <tr>
      <td nowrap><span class="mailLabel">Your email<span style="color:red">*</span></span></td>
      <td><input type="text" id="FromEmail" name="FromEmail" onChange="emailCheck(this)" size="20" style="height:22"></td>
      <td nowrap><span class="mailLabel">School mailing<br>
        address - street<span style="color:red">*</span> </span></td>
      <td><input name='SchoolAddrStreet' type='text' id='SchoolAddrStreet' onChange="streetCheck(this)" size='20' style="height:22"></td>
      <td><span class="mailLabel">School  - city<span style="color:red">*</span> </span></td>
      <td width="125"><input type="text" id="SchoolAddrCity" name="SchoolAddrCity" onChange="cityCheck(this)" size="20" style="height:22"></td>
      <td width="64" nowrap><span class="mailLabel">Zip code</span></td>
      <td width="52"><input type="text" id="SchoolZip" name="SchoolZip" size="10" onChange="zipCheck(this)" style="height:22"></td>
    </tr>
    <tr>
      <td nowrap><span class="mailLabel">School phone<br/>(###-###-####)<span style="color:red">*</span></td>
      <td><input name="Phone" type='text' id="PhoneNum" onChange="phoneCheck(this)" size='20' style="height:22"></td>
      <td nowrap><input type="hidden" name="RequestDate" value="11/16/07"><input type="hidden" id="SchoolAddrState" name="SchoolAddrState" value="Virginia"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="8"  bgcolor="#000066" nowrap><span class="white">Section 2 - About the Student</span></td>
    </tr>
    <tr>
      <td nowrap><span class="mailLabel">Student
          <br>
      tracking ID (STI)<span style="color:red">*</span></span></td>
      <td><input type="text" id="TrackingID" name="StudentTrackingID" onChange="idCheck(this)" size="21" style="height:22"></td>
      <td nowrap><span class="mailLabel">Chaffee qualified?</span></td>
      <td><table width="116" border="0" cellpadding="2" cellspacing="2">
        <tr>
          <td width="20"><input name="ChaffeeQual" type="radio" value="yes" onClick="toggle(1)"></td>
          <td width="21">yes</td>
          <td width="24"><input name="ChaffeeQual" type="radio" value="no" checked onClick="toggle(2)"></td>
          <td width="25">no</td>
        </tr>
      </table></td>
      <td><span class="mailLabel">Non-Chaffee</span></td>
      <td colspan="3"><table width="113" border="0" cellpadding="2" cellspacing="2">
        <tr>
          <td width="20"><input name="NonChaffee" type="radio" value="yes" checked onClick="toggle(2)"></td>
          <td width="21">yes</td>
          <td width="25"><input name="NonChaffee" type="radio" value="no" onClick="toggle(1)"></td>
          <td width="32">no</td>
        </tr>
      </table></td>
    </tr>
 
    <tr>
      <td height="120" colspan='4'><div id="ChaffeeMsg" style="display:none">
          <table width="511" border="0" cellpadding="2" cellspacing="2">
            <tr>
              <td width="393"><span style="color:#000099">As the designated Digital Rights Manager for this school/division, I hereby certify that the materials being requested are for a student whose IEP Team has determined has a print disability as defined under the Chaffee Copyright Amendment.</span></td>
              <td width="20" valign="top"><input name="ChaffeeAgree" id="agree" type="radio" value="yes" onClick="Chaffee(this);"></td>
              <td width="21" valign="top">yes</td>
              <td width="20" valign="top"><input name="ChaffeeAgree" type="radio" value="no" selected onClick="Chaffee(this);"></td>
              <td width="25" valign="top">no</td>
            </tr>
          </table>
        <br/>
        </div>
          <span class="mailLabel">Use the field below to request specific chapters or pages if you don't need the entire work. </span><br/>
          <textarea name="Comments" cols="60" rows="4" style="margin-top:8;margin-bottom:8"></textarea>
          <br>
          <span class="mailLabel"><span style="color:red">*</span>Required fields </span></td>
      <td colspan="1" valign="top"><br/>
          <br/>
          <input type="submit" value="Request Items" name="submitBtn" disabled style="margin-top:28"></td>
      <td colspan="3" valign="top"><br/>
          <br/>
        &nbsp;&nbsp;&nbsp;
        <input name="button" type="button" style="margin-top:28" onClick="delAllCookieInmCart(cartName,'/',null)" value="Remove All Items"></td>
    </tr>
    <tr>
      <td height=5 colspan="8" bgcolor="#000066"><span class="white">Section 3 - About the Item(s) </span></td>
  </table>
 
 
<table width="933" cellpadding="4" cellspacing="3"  align="center">
    <tr>
      <td width="560" align="left" height="45"><b>Item Information</b></td>
      <td width="115" align="left"><b>Select Format</b></td>
      <td width="146" align="left"><b>Need Entire Book?</b></td>
      <td width="60"></td>
    </tr>
 
    <tr>
      <td valign = "top">
<p><font size="2" color="#000000"><b>Analysis of freeway accident detection : </b></font><font size="2" color="#000000">Corby, Marion J. Saccomanno, F. Frank. Univ. of Waterloo. Dept. of Civil Engineering. Washington DC : Transportation Research Board, 1997   (Test Prep)</font>
</td>
<td valign = "top">
<font size="2" color="#000000"><select name="Format" id="Format1">
    <option></option>
    <option value="Item 1 (ID 5) is Large Print">Large Print
    <option value="Item 1 (ID 5) is Braille">Braille
    <option value="Item 1 (ID 5) is Digital Audiotext">Digital Audiotext
    <option value="Item 1 (ID 5) is e-Text">e-Text
  </select></font>
</td>
      <td valign = "top"><table width="146" border="0" cellpadding="2" cellspacing="2">
          <tr>
            <td width="22"><input name="EntireBook1" type="radio" value="yes" checked></td>
            <td width="43">yes</td>
            <td width="20"><input name="EntireBook1" type="radio" value="no"></td>
            <td width="35">no</td>
          </tr>
        </table></td>
      <td valign="top">
<INPUT TYPE="button" Value="Remove" onClick="removeIDbtn('5')">
</td>
    </tr>
    <font size="2" color="#000080">
    <tr>
      <td colspan="4">
<font size="2" color="#000080">
<input type="hidden" name="itemsRequested" value=" 1. Analysis of freeway accident detection / Corby, Marion J. Saccomanno, F. Frank. 1997 (TA 1001.5 P7 1997) Test Prep. [5] "/>
</td>
</tr></font>
    <tr>
      <td valign = "top">
<p><font size="2" color="#000000"><b>The Biology of learning : report of the Dahlem Workshop on the Biology of Learning, Berlin, 1998 October 23-28 / </b></font><font size="2" color="#000000">Paul Marlar. Berlin ; New York : Springer-Verlag, 1999   (Supplemental Material)</font>
</td>
<td valign = "top">
<font size="2" color="#000000"><select name="Format" id="Format2">
    <option></option>
    <option value="Item 2 (ID 56) is Large Print">Large Print
    <option value="Item 2 (ID 56) is Braille">Braille
    <option value="Item 2 (ID 56) is Digital Audiotext">Digital Audiotext
    <option value="Item 2 (ID 56) is e-Text">e-Text
  </select></font>
</td>
      <td valign = "top"><table width="146" border="0" cellpadding="2" cellspacing="2">
          <tr>
            <td width="22"><input name="EntireBook2" type="radio" value="yes" checked></td>
            <td width="43">yes</td>
            <td width="20"><input name="EntireBook2" type="radio" value="no"></td>
            <td width="35">no</td>
          </tr>
        </table></td>
      <td valign="top">
<INPUT TYPE="button" Value="Remove" onClick="removeIDbtn('56')">
</td>
    </tr>
    <font size="2" color="#000080">
    <tr>
      <td colspan="4">
<font size="2" color="#000080">
<input type="hidden" name="itemsRequested" value=" 2. The Biology of learning / Paul Marlar. 1999 (WL 103 D131b 1999 [W1 LI4067R v.29 1999]) Supplemental Material. [56] "/>
</td>
</tr></font>
    <tr>
      <td valign = "top">
<p><font size="2" color="#000000"><b>China's river route : </b></font><font size="2" color="#000000">Nagele, Rolf Specht, Gerhard. Bosch Signalbau Huber. Baltimore MD : AMACOM, 1998   (Textbook)</font>
</td>
<td valign = "top">
<font size="2" color="#000000"><select name="Format" id="Format3">
    <option></option>
    <option value="Item 3 (ID 1) is Large Print">Large Print
    <option value="Item 3 (ID 1) is Braille">Braille
    <option value="Item 3 (ID 1) is Digital Audiotext">Digital Audiotext
    <option value="Item 3 (ID 1) is e-Text">e-Text
  </select></font>
</td>
      <td valign = "top"><table width="146" border="0" cellpadding="2" cellspacing="2">
          <tr>
            <td width="22"><input name="EntireBook3" type="radio" value="yes" checked></td>
            <td width="43">yes</td>
            <td width="20"><input name="EntireBook3" type="radio" value="no"></td>
            <td width="35">no</td>
          </tr>
        </table></td>
      <td valign="top">
<INPUT TYPE="button" Value="Remove" onClick="removeIDbtn('1')">
</td>
    </tr>
    <font size="2" color="#000080">
    <tr>
      <td colspan="4">
<font size="2" color="#000080">
<input type="hidden" name="itemsRequested" value=" 3. China's river route / Nagele, Rolf Specht, Gerhard. 1998 (TA 428 .P2 N234c 1998) Textbook. [1] "/>
</td>
</tr></font>
    <tr>
      <td valign = "top">
<p><font size="2" color="#000000"><b>Dept. of State Dispatch magazine [computer file]<br/>
 : </b></font><font size="2" color="#000000">United States.  Dept. of State United States.  Government Printing Office<br/>
. Washington : U.S. Government Printing Office,   (Trade Book)</font>
</td>
<td valign = "top">
<font size="2" color="#000000"><select name="Format" id="Format4">
    <option></option>
    <option value="Item 4 (ID 47) is Large Print">Large Print
    <option value="Item 4 (ID 47) is Braille">Braille
    <option value="Item 4 (ID 47) is Digital Audiotext">Digital Audiotext
    <option value="Item 4 (ID 47) is e-Text">e-Text
  </select></font>
</td>
      <td valign = "top"><table width="146" border="0" cellpadding="2" cellspacing="2">
          <tr>
            <td width="22"><input name="EntireBook4" type="radio" value="yes" checked></td>
            <td width="43">yes</td>
            <td width="20"><input name="EntireBook4" type="radio" value="no"></td>
            <td width="35">no</td>
          </tr>
        </table></td>
      <td valign="top">
<INPUT TYPE="button" Value="Remove" onClick="removeIDbtn('47')">
</td>
    </tr>
    <font size="2" color="#000080">
    <tr>
      <td colspan="4">
<font size="2" color="#000080">
<input type="hidden" name="itemsRequested" value=" 4. Dept. of State Dispatch magazine [computer file]
 / (W1 DI231) Trade Book. [47] "/>
</td>
</tr></font>
</table>
</form>
<hr style="visibility:hidden"/>
</body>
</html>

Open in new window

0
Comment
Question by:GessWurker
  • 7
  • 5
12 Comments
 
LVL 63

Accepted Solution

by:
Zvonko earned 500 total points
ID: 20302588
Extend your form tag to this:


<form name="RequestForm" action="RequestEmail.asp" method="post" onSubmit="return requiredCheck()" >

0
 

Author Comment

by:GessWurker
ID: 20303248
Zvonko:

Not quite. It's not helpful validation if I do what you suggest. As a user, I get no alerts; no focus on problem fields; no guidance.
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 20303800
I have tested and got an alert. Can you tell me what steps you did test to avoit the alert?
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:GessWurker
ID: 20304167
I created a new page with the code I submitted, enabled the submit button, and extended the form tag as you suggested. When I clicked the submit button without entering any data, the button was disabled and I received no alerts.
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 20304181
That scenario is NOT the the scenarion you had in your initial question.
Extend your page from initial question with my form tag proposal and ALL will work as requested.

And for your NEW scenario open a new question please and state what you want changed in the new question.

0
 

Author Comment

by:GessWurker
ID: 20304330
Zvonko: I understand. Thanks.
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 20304365
No problem.
0
 

Author Comment

by:GessWurker
ID: 20304375
I submitted a new question.
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 20304408
Can we close this one with an A+ ;-)
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 20304448
And open for the Chaffee checking a third question please.
0
 

Author Comment

by:GessWurker
ID: 20304489
I opened a third question. Thanks!
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 20304615
Thanks.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

Suggested Solutions

Today I would like to talk about localizing (Internationalization) JavaScript applications. Introduction When creating an application that is going to be used by many people around the globe, it is important to remember that not everyone speak…
In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

860 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