Modal form : UI Dialog « jQuery « JavaScript Tutorial

Home
JavaScript Tutorial
1.Language Basics
2.Operators
3.Statement
4.Development
5.Number Data Type
6.String
7.Function
8.Global
9.Math
10.Form
11.Array
12.Date
13.Dialogs
14.Document
15.Event
16.Location
17.Navigator
18.Screen
19.Window
20.History
21.HTML Tags
22.Style
23.DOM Node
24.Drag Drop
25.Object Oriented
26.Regular Expressions
27.XML
28.GUI Components
29.Dojo toolkit
30.jQuery
31.Animation
32.MS JScript
JavaScript Tutorial » jQuery » UI Dialog 




<!--
  jQuery UI Effects Blind 1.7.2
 
  Copyright (c2009 AUTHORS.txt (http://jqueryui.com/about)
  Dual licensed under the MIT (MIT-LICENSE.txt)
  and GPL (GPL-LICENSE.txtlicenses.
 
 
-->
<!doctype html>
<html lang="en">
<head>
  <title>jQuery UI Dialog - Modal form</title>
  <link type="text/css" href="js/themes/base/ui.all.css" rel="stylesheet" />
  <script type="text/javascript" src="js/jquery-1.3.2.js"></script>
  <script type="text/javascript" src="js/ui/ui.core.js"></script>
  <script type="text/javascript" src="js/ui/ui.draggable.js"></script>
  <script type="text/javascript" src="js/ui/ui.resizable.js"></script>
  <script type="text/javascript" src="js/ui/ui.dialog.js"></script>
  <script type="text/javascript" src="js/ui/effects.core.js"></script>
  <script type="text/javascript" src="js/ui/effects.highlight.js"></script>
  <script type="text/javascript" src="js/external/bgiframe/jquery.bgiframe.js"></script>
  <link type="text/css" href="js/demos.css" rel="stylesheet" />
  <style type="text/css">
    body font-size: 62.5%; }
    label, input display:block; }
    input.text margin-bottom:12px; width:95%; padding: .4em; }
    fieldset padding:0; border:0; margin-top:25px; }
    h1 font-size: 1.2em; margin: .6em 0}
    div#users-contain {  width: 350px; margin: 20px 0}
    div#users-contain table margin: 1em 0; border-collapse: collapse; width: 100%; }
    div#users-contain table td, div#users-contain table th border: 1px solid #eee; padding: .6em 10px; text-align: left; }
    .ui-button outline: 0; margin:0; padding: .4em 1em .5em; text-decoration:none;  !important; cursor:pointer; position: relative; text-align: center; }
    .ui-dialog .ui-state-highlight, .ui-dialog .ui-state-error padding: .3em;  }
    
    
  </style>
  <script type="text/javascript">
  $(function() {
    
    var name = $("#name"),
      email = $("#email"),
      password = $("#password"),
      allFields = $([]).add(name).add(email).add(password),
      tips = $("#validateTips");

    function updateTips(t) {
      tips.text(t).effect("highlight",{},1500);
    }

    function checkLength(o,n,min,max) {

      if o.val().length > max || o.val().length < min ) {
        o.addClass('ui-state-error');
        updateTips("Length of " + n + " must be between "+min+" and "+max+".");
        return false;
      else {
        return true;
      }

    }

    function checkRegexp(o,regexp,n) {

      if !regexp.testo.val() ) ) ) {
        o.addClass('ui-state-error');
        updateTips(n);
        return false;
      else {
        return true;
      }

    }
    
    $("#dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      height: 300,
      modal: true,
      buttons: {
        'Create an account': function() {
          var bValid = true;
          allFields.removeClass('ui-state-error');

          bValid = bValid && checkLength(name,"username",3,16);
          bValid = bValid && checkLength(email,"email",6,80);
          bValid = bValid && checkLength(password,"password",5,16);

          bValid = bValid && checkRegexp(name,/^[a-z]([0-9a-z_])+$/i,"Username may consist of a-z, 0-9, underscores, begin with a letter.");
          // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
          bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"eg. ui@jquery.com");
          bValid = bValid && checkRegexp(password,/^([0-9a-zA-Z])+$/,"Password field only allow : a-z 0-9");
          
          if (bValid) {
            $('#users tbody').append('<tr>' +
              '<td>' + name.val() '</td>' + 
              '<td>' + email.val() '</td>' + 
              '<td>' + password.val() '</td>' +
              '</tr>'); 
            $(this).dialog('close');
          }
        },
        Cancel: function() {
          $(this).dialog('close');
        }
      },
      close: function() {
        allFields.val('').removeClass('ui-state-error');
      }
    });
    
    
    
    $('#create-user').click(function() {
      $('#dialog').dialog('open');
    })
    .hover(
      function(){ 
        $(this).addClass("ui-state-hover")
      },
      function(){ 
        $(this).removeClass("ui-state-hover")
      }
    ).mousedown(function(){
      $(this).addClass("ui-state-active")
    })
    .mouseup(function(){
        $(this).removeClass("ui-state-active");
    });

  });
  </script>
</head>
<body>

<div class="demo">

<div id="dialog" title="Create new user">
  <p id="validateTips">All form fields are required.</p>

  <form>
  <fieldset>
    <label for="name">Name</label>
    <input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
    <label for="email">Email</label>
    <input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
    <label for="password">Password</label>
    <input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
  </fieldset>
  </form>
</div>


<div id="users-contain" class="ui-widget">

    <h1>Existing Users:</h1>


  <table id="users" class="ui-widget ui-widget-content">
    <thead>
      <tr class="ui-widget-header ">
        <th>Name</th>
        <th>Email</th>
        <th>Password</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>John Doe</td>
        <td>john.doe@example.com</td>
        <td>johndoe1</td>
      </tr>
    </tbody>
  </table>
</div>
<button id="create-user" class="ui-button ui-state-default ui-corner-all">Create new user</button>

</div><!-- End demo -->

<div class="demo-description">

<p>Use a modal dialog to require that the user enter data during a multi-step process.  Embed form markup in the content area, set the <code>modal</code> option to true, and specify primary and secondary user actions with the <code>buttons</code> option.</p>

</div><!-- End demo-description -->

</body>
</html>














30.141.UI Dialog
30.141.1.jQuery UI Dialog
30.141.2.Basic Dialog modal
30.141.3.Modal confirmation
30.141.4.Modal form
30.141.5.Modal message
30.141.6.Set dialog height
30.141.7.Add ok button to dialog and link with event handler
30.141.8.Dialog open event
30.141.9.Dialog closed event
30.141.10.Dialog animation: close
30.141.11.Open a dialog through a button click event
30.141.12.Close a button after pressing OK button
30.141.13.Set auto open to true
30.141.14.Destroy a dialog
30.141.15.Get the input value from a dialog
30.141.16.Closed action
30.141.17.Open div tag based dialog
30.141.18.Slide in/out dialog
30.141.19.Fade in/out dialog
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.