2014-02-11 108 views
0

所以我是新來jquery,我試圖有一個彈出窗體。目標是當用戶點擊「創建新用戶」時,將彈出一個表單,他們可以填寫那裏的信息。我有麻煩。我感覺好像我的所有設置都正確,但仍然無法正常工作。jquery彈出不能正常工作

 <!doctype html> 
     <html class="no-js" lang="en"> 
      <head> 
      <meta charset="utf-8" /> 
      <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 

      <title>Ocean Services</title> 
      <link href='http://fonts.googleapis.com/css?family=Alegreya+Sans+SC' rel='stylesheet' type='text/css'> 

      <title>Bliss Salon</title> 

      <link rel="stylesheet" href="css/foundation.css" /> 
      <link rel="stylesheet" href="css/main.css" /> 
      <script src="js/modernizr.js"></script> 
       <script src="js/jquery-1.10.2.js"></script> 
       <script src="js/jquery-ui.js"></script> 


      <script> 
       $(function() { 
       var name = $("#name"), 
       email = $("#email"), 
       password = $("#password"), 
       allFields = $([]).add(name).add(email).add(password), 
       tips = $(".validateTips"); 
       function updateTips(t) { 
       tips 
       .text(t) 
       .addClass("ui-state-highlight"); 
       setTimeout(function() { 
       tips.removeClass("ui-state-highlight", 1500); 
       }, 500); 
       } 
       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.test(o.val()))) { 
       o.addClass("ui-state-error"); 
       updateTips(n); 
       return false; 
       } else { 
       return true; 
       } 
       } 
       $("#dialog-form").dialog({ 
       autoOpen: false, 
       height: 300, 
       width: 350, 
       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. [email protected]"); 
       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") 
       .button() 
       .click(function() { 
       $("#dialog-form").dialog("open"); 
       }); 
       }); 
       </script> 
      </head> 
      <body> 

      <div class="row"> 
       <div class="large-6 columns"> 
        <h1><img class="logo" src="images/trans_logo.png" /></h1> 
       </div> 
       <div class="large-12 columns"> 
        <ul class="right button-group"> 

         <li><a href="#" class="nav" >Log-In</a></li> 
         <li><a href="#" class="nav">Register</a></li> 
        </ul> 
       </div> 
      </div> 

      <!-- End Header and Nav --> 

      <!-- First Band (Slider) --> 

      <div class="row"> 
       <div class="large-12 columns"> 
        <div data-orbit id="slider"> 
         <a href="#"> <img src="images/image1.jpeg" /></a> 
         <img src="images/image2.jpeg" /> 
        </div> 

        <hr /> 
       </div> 
      </div> 

      <!-- Three-up Content Blocks --> 

      <div class="row"> 
       <div class="large-6 columns"> 
        <img src="http://placehold.it/500x300&text=[img]" /> 
        <h4>This is a content section.</h4> 
        <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa. Boudin aliqua adipisicing rump corned beef.</p> 
       </div> 


       <div class="large-6 columns"> 
        <img src="http://placehold.it/500x300&text=[img]" /> 
        <h4>This is a content section.</h4> 
        <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa. Boudin aliqua adipisicing rump corned beef.</p> 
        <button id="create-user">Create new user</button> 
       </div> 

      </div> 




      <!-- Footer --> 

      <footer class="row"> 
       <div class="large-12 columns"> 
        <hr /> 
        <div class="row"> 
         <div class="large-6 columns"> 
          <p>© Copyright Bliss Salon. All Rights Reserved.</p> 
         </div> 

        </div> 
       </div> 
      </footer> 


      <script src="js/foundation.min.js"></script> 
      <script> 
       $(document).foundation({ 
        orbit: { 
         timer_speed:4500, 
         timer: true, 
         bullets:false, 
         animation:'fade', 
         animation_speed: 1500 


        } 


       }); 
      </script> 
      </body> 
     </html> 
+0

你可以縮小你的代碼只有相關的部分? –

回答

0

DEMO HERE

你忘了在你的HTML你的對話框的div:

<div id="dialog-form" title="Basic dialog"> 
    <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p> 
</div> 

你把你的div with id dialog-form在你的HTML,它應該工作之後。