How to write OnClick with two commands


DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 2 of 2

Thread: How to write OnClick with two commands

  1. #1
    Join Date
    Dec 2006
    Posts
    1

    Arrow How to write OnClick with two commands

    I have a form that I have divided into several "pages" using the showlayer script as introduced on DevX. It also has a validation script:

    <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 += '- Respondent '+nm+' is required.\n'; }

    } if (errors) alert('Sorry! Please fill in required fields and click submit again:\n'+errors);

    return document.MM_returnValue = (errors == '');

    }

    function MM_popupMsg(msg) { //v1.0

    alert(msg);

    }

    //-->

    var currentLayer = 'page1';

    function showLayer(lyr) {

    hideLayer(currentLayer);

    document.getElementById(lyr)

    .style.visibility = 'visible';

    currentLayer = lyr;

    }



    function hideLayer(lyr) {

    document.getElementById(lyr).

    style.visibility = 'hidden';

    }



    </script>



    Within the HTML, I then have onClick event controls with showLayer commands:



    <FORM…>

    <div id="page1" class="page">

    ….

    <input type="button" id="C1" value="Start" onClick="showLayer('page2')">

    </div>

    <div id="page2" class="page">

    ….

    <INPUT type=button value="Continue" onclick="MM_validateForm('Firstname','','R','Lastname','','R','Address','','R','City','',' R','Zipcode','','RisNum','Country','','R'); showLayer('page3')">

    </div>

    <div id="page3" class="page">





    The current code produces the correct error message when required fields are left blank, but then clicks through to the next layer when “ok” is clicked on the error message (document.MM_returnValue) screen. I have tried several iterations of “else” but to no avail. How do I get the script to tell the computer “If errors, show error screen and go back to same page (highlight first error would be even better), else show next layer”?

  2. #2
    Join Date
    Mar 2004
    Posts
    635
    This is a java forum, that is javascript. They are two completely different languages.

Similar Threads

  1. Replies: 1
    Last Post: 02-14-2006, 07:04 AM
  2. Replies: 0
    Last Post: 02-12-2006, 06:27 PM
  3. Replies: 1
    Last Post: 08-23-2005, 11:23 PM
  4. Trouble getting update method to write to DB
    By Greg Busby in forum VB Classic
    Replies: 1
    Last Post: 01-17-2001, 03:30 PM
  5. Proper way to write this...
    By Saiful in forum Web
    Replies: 6
    Last Post: 08-06-2000, 01:29 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center