Показать сообщение отдельно
  #1 (permalink)  
Старый 08.10.2014, 18:34
Новичок на форуме
Отправить личное сообщение для Konung1973 Посмотреть профиль Найти все сообщения от Konung1973
 
Регистрация: 08.10.2014
Сообщений: 1

Кнопка по-умолчанию в JQuery UI модальном диалоге
Здравствуйте!
У меня вопрос по JQuery UI, но отдельной темы не нашел, поэтому пишу сюда.
Проблема у меня следующая: захотелось мне в модальном диалоге сделать кнопку по-умолчанию. Ну я и сделал:
<script>
    $(function() {
        var bOk = false;
    	$( "#dlgLogin" ).dialog({
    		autoOpen: true,
    		height: 200,
    		width: 300,
    		modal: true,
    		buttons: {

    	          "Ok": function() {
                    var dataObj = {"txtPassword"   : $("#txtPassword").val()};

                    $.ajax({
                          type: "POST",
                          url:  "spra/users/CheckPassword.jsp",
                          data: dataObj,
                          dataType: "JSON",
                          success: function(data){
                                     if (data.bOk == "1"){
                                       $("#lblUserName").html(data.cName);
                                       $("#txtCurrentUserId").val(data.nId);
                                       bOk = true;
                                       $("#dlgLogin").dialog( "close" );
                                     }else{
                                       $("#lblError").html("Error! Try again.");
                                     }
                                   }
                    });
    			}
    		},
 [B]           open: function() {
                $("#dlgLogin").keypress(function(e) {
                    if (e.keyCode == $.ui.keyCode.ENTER) {
                      $(this).parent().find('.ui-dialog-buttonpane button:first').click();
                    }
                  });
            },
 [/B]           beforeClose: function( event, ui ) {
                if (!bOk){
                  return false;
                }
            }
    	});

    });
</script>

<div id="dlgLogin" title="Login">
  <form>
   	<fieldset>
   		<label for="txtPassword">Password:</label>
   		<input type="password" name="txtPassword" id="txtPassword" value="" class="text ui-widget-content ui-corner-all" />
        </br><span style="color:RED" id="lblError">&nbsp;</span>
   	</fieldset>
  </form>
</div>

CheckPassword.jsp
<%
///// ...................

out.print("{");
out.print("\"nId\" : \"" + nUserId + "\",");
out.print("\"cName\" : \"" + cUserName + "\",");
out.print("\"cLogin\" : \""+ cUserLogin+"\",");
out.print("\"bOk\" : \""+ nOk +"\"");
out.print("}");
///.......................
%>
Только не заработалО ОНО.
Когда я ввожу пароль и жму мышкой "Ok" - всё работает.
Но когда я ввожу пароль и жму <Enter>, происходит переход к обработчику события нажатия кнопки, производится ajax-вызов CheckPassword.jsp... И всё падает в произвольном месте (смотрю под отладчиком IDEA).
Подскажите, пожалуйста, кто и как устанавливал в JQuery UI Dialog кнопки по-умолчанию.

Последний раз редактировалось Konung1973, 08.10.2014 в 18:43.
Ответить с цитированием