Server Help

Non-Subspace Related Coding - Tab in teaxarea issue

Anonymous - Wed Jan 24, 2007 3:33 pm
Post subject: Tab in teaxarea issue
Seen the Tab in teaxarea issue of this fourm some where, heres a better fix.
It works with Firefox aswell as IE and wont cause error with unsupported browsers.
Also it inserts the tab in opera v? not sure v7+ maybe, however it will lose focus.


Code: Show/Hide

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
   <title>Tab-Fix</title>
</head>

<body>


<script type="text/javascript">
<!--

/**
* Insert a tab at the current text position in a textarea
* Jan Dittmer, jdittmer@ppp0.net, 2005-05-28
* Inspired by http://www.forum4designers.com/archive22-2004-9-127735.html
* Tested on:
*   Mozilla Firefox 1.0.3 (Linux)
*   Mozilla 1.7.8 (Linux)
*   Epiphany 1.4.8 (Linux)
*   Internet Explorer 6.0 (Linux)
* Does not work in:
*   Konqueror (no tab inserted, but focus stays)
*/
function insertTab(event,obj) {
    var tabKeyCode = 9;
    if (event.which) // mozilla
        var keycode = event.which;
    else // ie
        var keycode = event.keyCode;
    if (keycode == tabKeyCode) {
        if (event.type == "keydown") {
            if (obj.setSelectionRange) {
                // mozilla
                var s = obj.selectionStart;
                var e = obj.selectionEnd;
                obj.value = obj.value.substring(0, s) +
                    "\t" + obj.value.substr(e);
                obj.setSelectionRange(s + 1, s + 1);
                obj.focus();
            } else if (obj.createTextRange) {
                // ie
                document.selection.createRange().text="\t"
                obj.onblur = function() { this.focus(); this.onblur = null; };
            } else {
                // unsupported browsers
            }
        }
        if (event.returnValue) // ie ?
            event.returnValue = false;
        if (event.preventDefault) // dom
            event.preventDefault();
        return false; // should work in all browsers
    }
    return true;
}

//-->
</script>
<input type="text">
<br>
<textarea onkeydown="return insertTab(event,this);"
      onkeyup="return insertTab(event,this);"
      onkeypress="return insertTab(event,this);"
      rows="30" cols="80">
</textarea>
<br>
<input type="text">
</body>
</html>


Mine GO BOOM - Wed Jan 24, 2007 4:09 pm
Post subject:
Thank you, works better.
Maverick - Wed Jan 24, 2007 5:22 pm
Post subject:
That's actually pretty nice. It's always annoying to code in a textfield because of that.
MGB, can you also apply it to the fast reply? icon_smile.gif
Mine GO BOOM - Wed Jan 24, 2007 6:08 pm
Post subject:
Maverick wrote:
MGB, can you also apply it to the fast reply? :)

I never use it, but added it to the Quick Reply.
Maverick - Thu Jan 25, 2007 2:41 am
Post subject:
Code: Show/Hide
            nice, thanks :)

Anonymous - Thu Jan 25, 2007 4:07 am
Post subject:
holy chit,, it works icon_exclaim.gif
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group