#995122 by threewestwinds, rfay: Allow textareas and textfields to accept spaces in ajax.
parent
2d9916e6f6
commit
13d9e0b0f8
10
misc/ajax.js
10
misc/ajax.js
|
@ -195,13 +195,19 @@ Drupal.ajax = function (base, element, element_settings) {
|
|||
* The AJAX object will, if instructed, bind to a key press response. This
|
||||
* will test to see if the key press is valid to trigger this event and
|
||||
* if it is, trigger it for us and prevent other keypresses from triggering.
|
||||
* In this case we're handling RETURN and SPACEBAR keypresses (event codes 13
|
||||
* and 32. RETURN is often used to submit a form when in a textfield, and
|
||||
* SPACE is often used to activate an element without submitting.
|
||||
*/
|
||||
Drupal.ajax.prototype.keypressResponse = function (element, event) {
|
||||
// Create a synonym for this to reduce code confusion.
|
||||
var ajax = this;
|
||||
|
||||
// Detect enter key and space bar.
|
||||
if (event.which == 13 || event.which == 32) {
|
||||
// Detect enter key and space bar and allow the standard response for them,
|
||||
// except for form elements of type 'text' and 'textarea', where the
|
||||
// spacebar activation causes inappropriate activation if #ajax['keypress'] is
|
||||
// TRUE. On a text-type widget a space should always be a space.
|
||||
if (event.which == 13 || (event.which == 32 && element.type != 'text' && element.type != 'textarea')) {
|
||||
$(ajax.element_settings.element).trigger(ajax.element_settings.event);
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue