2014-02-15 3 views
1

웹 페이지에 jQuery UI (버전 1.10.4)를 구현 중이며 여기에 아주 간단한 코드가 있습니다. 문제는, 왜 은 한번만 열어입니다. 누구나 불을 끄실 수 있습니까?jQuery UI 대화 상자 (버전 1.10.4) 한 번만 열기

주요 코드 :

<button class="subscribe">Subscribe</button> 

    <div id="login-form" title="Sign In"> 
         <p class="validateTips">All form fields are required.</p> 
         <form> 
         <fieldset> 
          <label for="username">Username</label> 
          <input type="text" name="username" id="username" 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> 

jQuery 코드 : allFields가 정의되어 있지 않기 때문에

$(document).ready(function() { 
    $("#login-form").dialog({ 
      autoOpen: false, 
      height: 300, 
      width: 350, 
      modal: true, 
      buttons: { 
       "Login": function() { 
        //php code 

       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      }, 
      close: function() { 
       allFields.val("").removeClass("ui-state-error"); 
      } 
      }); 


      $(".subscribe").button().click(function() { 
       $("#login-form").dialog("open"); 
      }); 
}); 
+0

PHP와 jQuery를 직접 결합 할 수 없습니다 (jQuery도 포함). –

+0

@ Václav 예. 그 부분에 대해서는 PHP 페이지로 리디렉션 할 예정입니다. 하지만 이제 주요 문제는 팝업이 한 번만 표시된다는 것입니다. – SCC

+0

대화 상자를 사용한 코드를 살펴 보았습니다. 매번 대화 상자 (목록 포함)가 열리지 만 모달 버전은 사용하지 않습니다. 나는 그것이 모달 대화 상자에 있다고 생각한다. –

답변

2

그것입니다. 오류가 발생합니다. 줄을 :

allFields.val("").removeClass("ui-state-error"); 

주석 처리 된, 잘 작동합니다.

는 바이올린 :

http://jsfiddle.net/z4Kdw/1/ 나는 오류를 던지고없이 필드를 지우려면 바이올린에 $('input').val("").removeClass("ui-state-error");을 추가했다.

+1

정말 고마워요! =) – SCC