Solved

change existing validation to onsubmit

Posted on 2007-11-16
12
229 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
Comment Utility
Extend your form tag to this:


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

0
 

Author Comment

by:GessWurker
Comment Utility
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
Comment Utility
I have tested and got an alert. Can you tell me what steps you did test to avoit the alert?
0
 

Author Comment

by:GessWurker
Comment Utility
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
Comment Utility
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
Comment Utility
Zvonko: I understand. Thanks.
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 63

Expert Comment

by:Zvonko
Comment Utility
No problem.
0
 

Author Comment

by:GessWurker
Comment Utility
I submitted a new question.
0
 
LVL 63

Expert Comment

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

Expert Comment

by:Zvonko
Comment Utility
And open for the Chaffee checking a third question please.
0
 

Author Comment

by:GessWurker
Comment Utility
I opened a third question. Thanks!
0
 
LVL 63

Expert Comment

by:Zvonko
Comment Utility
Thanks.
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
radio button value 3 44
Where to begin studying? 5 63
Condidional <a href = ....> 1 23
JavaScript Scope issue 4 17
Article by: DanRollins
This article describes a JavaScript program that creates a maze made of hexagonal cells.  In Part 2 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7850-Hex-Maze-Part-2.html), we'll extend the program by adding a depth-…
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
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…

772 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now