YUI DIalog: как остановить отображение формы при нажатии клавиши ввода? - PullRequest
2 голосов
/ 16 февраля 2012

Мы используем YUI 2.9.0, и на форме у нас возникает проблема: если мы нажимаем ввод на вводе type = "text", форма отправляется "обычным способом", а не через асинхронный режим YUIДиалог («нормальный путь» - тот, который используется в чистом вебе HTML, без асинхронной связи JS и web 2.0).

На этой странице я вижу, что ошибка была устранена в версии 2.3.1, но я все ещеесть одна проблема http://tech.groups.yahoo.com/group/ydn-javascript/message/30139 На самом деле, в зависимости от содержимого формы: с текстом и полем выбора у меня возникает проблема, если у меня есть средство выбора даты, оно работает нормально.

Есть ли какие-либоКстати, Appart ключа listerner, который останавливается, нажмите клавишу?

1 Ответ

3 голосов
/ 16 февраля 2012

вы можете отключить отправку форм в вашем диалоге, указав это в теге формы:

<form onsubmit="return(false);" id="myId" name="myName" action="" method="">

Затем вам нужно будет добавить прослушиватель событий для вашей кнопки или выполнить отправку XHR самостоятельно.

Хотя вы и используете это объявление для своего диалога с isDefault, установленным в true в handleSubmit, вы, вероятно, не получите форму, отправленную при нажатии клавиши ввода.

YAHOO.example.container.dialog1 = new YAHOO.widget.Dialog("dialog1", 
            { width : "300px",
              fixedcenter : true,
              visible : false, 
              constraintoviewport : true,
              buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true },
                          { text:"Cancel", handler:handleCancel } ]
             } );
...