mirror of
https://github.com/vrana/adminer.git
synced 2025-08-09 08:06:59 +02:00
Send the form by Ctrl+Enter in all textareas
This commit is contained in:
@@ -123,7 +123,35 @@ function selectAddRow(field) {
|
||||
|
||||
|
||||
|
||||
|
||||
/** Handle Ctrl+Enter and optionally Tab in textarea
|
||||
* @param HTMLTextAreaElement
|
||||
* @param KeyboardEvent
|
||||
* @param boolean handle also Tab
|
||||
* @param HTMLInputElement submit button
|
||||
* @return boolean
|
||||
*/
|
||||
function textareaKeydown(target, event, tab, button) {
|
||||
if (tab && event.keyCode == 9 && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) {
|
||||
// inspired by http://pallieter.org/Projects/insertTab/
|
||||
if (target.setSelectionRange) {
|
||||
var start = target.selectionStart;
|
||||
target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd);
|
||||
target.setSelectionRange(start + 1, start + 1);
|
||||
return false; //! still loses focus in Opera, can be solved by handling onblur
|
||||
} else if (target.createTextRange) {
|
||||
document.selection.createRange().text = '\t';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey) { // shiftKey allowed
|
||||
if (button) {
|
||||
button.click();
|
||||
} else {
|
||||
target.form.submit();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Display edit field
|
||||
* @param HTMLElement
|
||||
@@ -143,6 +171,9 @@ function selectDblClick(td, event, text) {
|
||||
rows++;
|
||||
});
|
||||
input.rows = rows;
|
||||
input.onkeydown = function (event) {
|
||||
return textareaKeydown(input, event || window.event);
|
||||
};
|
||||
}
|
||||
if (document.selection) {
|
||||
var range = document.selection.createRange();
|
||||
|
Reference in New Issue
Block a user