Solved

change existing validation to onsubmit

Posted on 2007-11-16
12
274 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

 

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

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
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…
Suggested Courses

617 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