<script type="text/javascript">
$(document).ready(function () {
var auth_token = $("meta[name=csrf-token]").attr("content");
-
$("form input[name=authenticity_token]").val(auth_token);
+
+ $("textarea").autoGrow();
});
</script>
--- /dev/null
+/*!
+ * Autogrow Textarea Plugin Version v2.0
+ * http://www.technoreply.com/autogrow-textarea-plugin-version-2-0
+ *
+ * Copyright 2011, Jevin O. Sewaruth
+ *
+ * Date: March 13, 2011
+ */
+jQuery.fn.autoGrow = function(){
+ return this.each(function(){
+ // Variables
+ var colsDefault = this.cols;
+ var rowsDefault = this.rows;
+
+ //Functions
+ var grow = function() {
+ growByRef(this);
+ }
+
+ var growByRef = function(obj) {
+ var linesCount = 0;
+ var lines = obj.value.split('\n');
+
+ for (var i=lines.length-1; i>=0; --i)
+ {
+ linesCount += Math.floor((lines[i].length / colsDefault) + 1);
+ }
+
+ if (linesCount >= rowsDefault)
+ obj.rows = linesCount + 1;
+ else
+ obj.rows = rowsDefault;
+ }
+
+ var characterWidth = function (obj){
+ var characterWidth = 0;
+ var temp1 = 0;
+ var temp2 = 0;
+ var tempCols = obj.cols;
+
+ obj.cols = 1;
+ temp1 = obj.offsetWidth;
+ obj.cols = 2;
+ temp2 = obj.offsetWidth;
+ characterWidth = temp2 - temp1;
+ obj.cols = tempCols;
+
+ return characterWidth;
+ }
+
+ // Manipulations
+ this.style.width = "auto";
+ this.style.height = "auto";
+ this.style.overflow = "hidden";
+ this.style.width = ((characterWidth(this) * this.cols) + 6) + "px";
+ this.onkeyup = grow;
+ this.onfocus = grow;
+ this.onblur = grow;
+ growByRef(this);
+ });
+};