diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js
index 5e4602f85e797c0c6f3c3e7a9fb863442a519367..0378b544df7a04f635af9c9609beaf22268448da 100644
--- a/lib/scripts/textselection.js
+++ b/lib/scripts/textselection.js
@@ -41,7 +41,6 @@ function getSelection(textArea) {
     sel.obj   = textArea;
     sel.start = textArea.value.length;
     sel.end   = textArea.value.length;
-
     textArea.focus();
     if(document.getSelection) {          // Mozilla et al.
         sel.start  = textArea.selectionStart;
@@ -57,9 +56,13 @@ function getSelection(textArea) {
 
         // The current selection
         sel.rangeCopy = document.selection.createRange().duplicate();
-
-        var before_range = document.body.createTextRange();
-        before_range.moveToElementText(textArea);                    // Selects all the text
+        if (textArea.tagName === 'INPUT')  {
+            var before_range = textArea.createTextRange();
+            before_range.expand('textedit');                       // Selects all the text
+        } else {
+            var before_range = document.body.createTextRange();
+            before_range.moveToElementText(textArea);              // Selects all the text
+        }
         before_range.setEndPoint("EndToStart", sel.rangeCopy);     // Moves the end where we need it
 
         var before_finished = false, selection_finished = false;