亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html中的textarea屬性大全(設置默認值 高度自適應

2020-03-24 19:27:02
字體:
來源:轉載
供稿:網友
1.textarea設置默認值

 span >
 textarea rows= 0 cols= 0 name= jsonHidden readonly= readonly >
 input type= submit html' target='_blank'>value= 提交 

此段代碼設置一個textarea文本框 并且設置為隱藏

2.textarea高度自適應

今天需要些一個回復評論的頁面,設計師給的初始界面就是一個只有一行的框。然后當時就想這個交互該怎么實現比較好,然后想起了新浪微博的做法:點擊評論,默認顯示一行,當輸入的文字超過一行或者輸入Enter時,輸入框的高度會隨著改變,直到輸入完畢。頓時覺得這個細節做得挺不錯的,可以效仿下。下面分享2種實現textarea高度自適應的做法,一種是用div來模擬textarea來實現的,用CSS控制樣式,不用js;另一種是利用JS控制的(因為存在瀏覽器兼容問題,所以寫起來比較麻煩);

方法一:div模擬textarea文本域輕松實現高度自適應

textarea.png

因為textarea不支持自適應高度,就是定好高度或者是行數之后,超出部分就會顯示滾動條,看起來不美觀。

而用DIV來模擬時,首先遇到的問題是:div怎么實現輸入功能?

可能我們還是第一次見到這個屬性contenteditable,如一個普通的block元素上加個contenteditable= true 就實現編輯,出現光標了。如

 div contenteditable= true /div 

contenteditable屬性雖是HTML5里面的內容,但是IE似乎老早就支持此標簽屬性了。所以,兼容性方面還是不用太擔心的。

CSS代碼

.textarea{ width:400px; min-height:20px; max-height:300px; _height:120px; margin-left:auto; margin-right:auto; padding:3px; outline:0; border:1pxsolid#a0b3d6; font-size:12px; line-height:24px; padding:2px; word-wrap:break-word; overflow-x:hidden; overflow-y:auto; border-color:rgba(82,168,236,0.8); box-shadow:inset01px3pxrgba(0,0,0,0.1),008pxrgba(82,168,236,0.6);}

方法二:文本框textarea根據輸入內容自適應高度

demo演示地址:http://www.xuanfengge.com/demo/201308/textarea/demo2.html

這個寫法是用原生JS寫的,考慮了很多兼容性問題,完全和新浪微博的回復效果一樣的功能。有興趣的童鞋可以仔細分析下代碼。

CSS代碼

#textarea display:block; margin:0auto; overflow:hidden; width:550px; font-size:14px; height:18px; line-height:24px; padding:2px;textarea{ outline:0none; border-color:rgba(82,168,236,0.8); box-shadow:inset01px3pxrgba(0,0,0,0.1),008pxrgba(82,168,236,0.6);}

JS代碼

/** * 文本框根據輸入內容自適應高度 * @param {HTMLElement} 輸入框元素 * @param {Number} 設置光標與輸入框保持的距離(默認0) * @param {Number} 設置最大高度(可選)var autoTextarea = function (elem, extra, maxHeight) { extra = extra || 0; var isFirefox = !!document.getBoxObjectFor || mozInnerScreenX in window, isOpera = !!window.opera !!window.opera.toString().indexOf( Opera ), addEvent = function (type, callback) { elem.addEventListener ? elem.addEventListener(type, callback, false) : elem.attachEvent( on + type, callback); getStyle = elem.currentStyle ? function (name) { var val = elem.currentStyle[name]; if (name === height val.search(/px/i) !== 1) { var rect = elem.getBoundingClientRect(); return rect.bottom - rect.top - parseFloat(getStyle( paddingTop )) - parseFloat(getStyle( paddingBottom )) + px  return val; } : function (name) { return getComputedStyle(elem, null)[name]; minHeight = parseFloat(getStyle( height  elem.style.resize = none  var change = function () { var scrollTop, height, padding = 0, style = elem.style; if (elem._length === elem.value.length) return; elem._length = elem.value.length; if (!isFirefox !isOpera) { padding = parseInt(getStyle( paddingTop )) + parseInt(getStyle( paddingBottom  scrollTop = document.body.scrollTop || document.documentElement.scrollTop; elem.style.height = minHeight + px  if (elem.scrollHeight minHeight) { if (maxHeight elem.scrollHeight maxHeight) { height = maxHeight - padding; style.overflowY = auto  } else { height = elem.scrollHeight - padding; style.overflowY = hidden  style.height = height + extra + px  scrollTop += parseInt(style.height) - elem.currHeight; document.body.scrollTop = scrollTop; document.documentElement.scrollTop = scrollTop; elem.currHeight = parseInt(style.height); addEvent( propertychange , change); addEvent( input , change); addEvent( focus , change); change();};

HTML代碼(寫在body里面的)

 textareaid= textarea placeholder= 回復內容 /textarea  script  vartext=document.getElementById( textarea  autoTextarea(text);// /script 

3.textarea獲取內容

方法一:JS獲取textarea中的內容 用document.getElementById(v).value 就可以的。

比如:


 textarea id= abc name= t cols= 72 rows= 12 123456 /textarea  script var x=document.getElementById( abc ).value;/這個x的值就是獲取到的內容alert(x); /script 

方法二:

 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN  html  head  /head  body  textarea id= myText 這里是textarea內容 /textarea  script type= text/javascript src= Js/jquery-1.7.js /script  script type= text/javascript alert( JS獲取方式: +document.getElementById( myText ).value);//JSalert( JQuery獲取方式: +$( #myText ).val());//Jquery /script  /body  /html 


4.textarea限制輸入字數

實現textarea限制輸入字數(包含中文只能輸入10個,全ASCII碼能夠輸入20個)

textarea稱文本域,又稱文本區,即有滾動條的多行文本輸入控件,在網頁的提交表單中經常用到。與單行文本框text控件不同,它不能通過maxlength屬性來限制字數,為此必須尋求其他方法來加以限制以達到預設的需求。

通常的做法就是使用#腳本語言來實現對textarea文本域的字數輸入限制,簡單而實用。假設我們有一個id為 txta1 的textarea文本區,我們可以通過以下代碼限制它的鍵盤輸入字數為10個字(漢字或其他小角字符):

<script language= # type= text/ecmascript > window.onload = function() document.getElementById( txta1 ).onkeydown = function()  if(this.value.length = 10)  event.returnValue = false; </script>

它的原理是通過對keydown(鍵盤鍵位按下)事件對指定id號的文本區進行監測,可以想象,它只能限制鍵盤輸入,如果用戶通過鼠標右鍵粘貼剪切板中的文本,它無法控制字數。

通過鍵盤輸入,以上文本區只能輸入10個字。但是,我們的目的并沒有達到!請隨便復制一些文本,試著用鼠標右鍵粘貼,看看發生了什么。

你可以在網上找到類似上述的其他JS腳本,它們不管多么優秀,其原理都是一樣的,通過對keydown、keyup或keypress之類的鍵盤鍵位操作事件來監控文本區的輸入,無法防止鼠標右鍵的粘貼,為此,如果一定要真正地限制textarea的字數,我們還得為網頁加另一把鎖——禁用鼠標右鍵,這無疑得付出額外的開銷,同時也可能是網頁制作者不一定愿意做的。其實,還有一個更簡單的方法,使用onpropertychange屬性。

onpropertychange可以用來判斷預定元素的value值,當元素的value值發生變化時判斷事件就會被觸發,僅關心被監測元素的value值,避開了輸入的來源,從而可以比較理想地達成我們的限制字數這一目的。它屬于JS范疇,可以在表單方框區代表中嵌套使用,以下是代碼和效果樣式,可以像上面那樣測試輸入,你會發現它真正達到目的:不管用什么方式輸入,它只能輸入100個字(漢字或其他小解符號):

代碼:

 textarea onpropertychange= if(value.length 100) value=value.substr(0,100) >

當然,為了更為保險,處理表單數據的后臺腳本程序還應該對提交來的數據進行再一次的檢測,如果字數超出預設的數量則進行相應處理,這樣才達到真正限制字數的目的。(完)

另外一種方法實現textarea限制輸入字數(包含中文只能輸入10個,全ASCII碼能夠輸入20個)

 script function check() { var regC = /[^ -~]+/g; var regE = //D+/g; var str = t1.value; if (regC.test(str)){  t1.value = t1.value.substr(0,10); if(regE.test(str)){  t1.value = t1.value.substr(0,20);  /script  textarea maxlength= 10 id= t1 onkeyup= check();  /textarea 

還有一種方式:

function textCounter(field, maxlimit) { if (field.value.length maxlimit){ field.value = field.value.substring(0, maxlimit); }else{ document.upbook.remLen.value = maxlimit - field.value.length; }
 textarea name=words cols=19 rows=5 >

title= The textarea width must less than 300 characters. 放在textarea 里面提示輸入最大字節數。

例如:

 textarea title= The textarea width must less than 300 characters. cols=50 rows=10 name= comment id= commentarea quot;LimitTextArea(this) onKeyUp= LimitTextArea(this) onkeypress= LimitTextArea(this) /textarea 

5.textarea 換行

最近碰到一個數據轉來轉去轉到Textrea里面是否能真正按行存放的問題,在這里總結一下:

問題描述:

比如get數據到一個TextArea里面,如“AAA BBB”,想把這段文字在TextArea里面真正按行存放,而不是顯示出來按行存放(所謂的真正按行存放就是,再把這個TextArea的數據post到另外一個頁面的Textarea里面仍是按行存放)

問題解決1:

一開始是提交數據的時候格式是AAA BR / BBB,但是這是顯示換行,其實在TextArea里面并不是真正按行存放的,因為這個時候再提交給另外一個TextArea的時候就是顯示AAABBB,而不是換行顯示了,因此僅僅是顯示按行存放而已

問題基礎知識

HTML里面的換行是 BR / ,而TextArea的換行是/n

問題解決2:

先提交數據再使用Javascript對 BR / 和/n進行替換

提交的時候仍是 BR / 作為分隔符

然后提交完畢以后

 script  //換行轉回車 var haha=document.getElementById( SendTextArea ).value; haha=haha.replace( br / , /n  document.getElementById( SendTextArea ).value=haha; /script 

6.textarea固定大小

TML 標簽 textarea 在大部分瀏覽器中只要指定行(rows)和列(cols)屬性,就可以規定 textarea 的尺寸,大小就不會改變,不過更好的辦法是使用 CSS 的 height 和 width 屬性,但是Chrome,Safari和FireFox渲染的效果不同,可以拖動右下角圖標改變大小。但是過分拖動大小會影響頁面布局,使頁面變得不美觀??梢酝ㄟ^添加如下兩個樣式禁用拖動,固定大?。?/p>

1:徹底禁用拖動(推薦)

resize: none;

2:只是固定大小,右下角的拖動圖標仍在

width: 200px; height: 100px; max-width: 200px; max-height: 100px;

3:瀏覽器信息:

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.218 Safari/535.1

7.textarea value

最近在做一個小項目,才發現原來textarea中居然沒有value屬性。

 tr  th 姓名* /th  td span input type= text >

8.textarea placeholder

placeholder 屬性適用于以下的 input 類型:text, search, url, telephone, email 以及 password。
這個屬性是html5才有的新屬性,原來的HTML 4.01 與 HTML 5 之間的差異。

以上就是html中的textarea屬性大全(設置默認值 高度自適應 獲取內容 限制輸入字數 placeholder)的詳細內容,html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
4444欧美成人kkkk| 欧美成年人网站| 色综合久综合久久综合久鬼88| 日本成人免费在线| 欧美精品第一页在线播放| 国产精品久久久久久久久久久不卡| 日韩成人在线电影网| 丝袜亚洲另类欧美重口| 日韩免费av片在线观看| 91精品国产91久久久久久吃药| 中文字幕亚洲激情| 国产噜噜噜噜噜久久久久久久久| 伊人伊成久久人综合网站| 不卡av日日日| 国产亚洲欧美日韩精品| 91久久久久久久| 日韩暖暖在线视频| 97精品在线观看| 亚洲精品小视频在线观看| 亚洲专区中文字幕| 国产欧美精品久久久| 亚洲黄一区二区| 亚洲精品第一页| 欧美洲成人男女午夜视频| 91中文在线观看| 欧美激情中文字幕在线| 亚洲精品自拍第一页| 中文字幕亚洲一区在线观看| 欧美激情女人20p| 尤物tv国产一区| 91日本在线观看| 亚洲精品久久视频| 欧美成人精品一区二区| 欧美激情一区二区三区久久久| 久久久这里只有精品视频| 欧美性xxxxx| 国产精品小说在线| 精品久久久久久久久久久久| 美日韩精品视频免费看| 精品亚洲一区二区三区在线观看| 日韩美女免费观看| 亚洲精品网址在线观看| 久久精品福利视频| 欧美精品手机在线| 日韩在线视频中文字幕| 亚洲精品美女久久久| 欧美极品美女视频网站在线观看免费| 久久久国产精品x99av| 91欧美精品午夜性色福利在线| 久久久电影免费观看完整版| 91色在线视频| 国产精品69av| 国产美女精品视频| 色先锋久久影院av| 国产精品一区二区av影院萌芽| 亚洲乱码av中文一区二区| 国语自产偷拍精品视频偷| 日韩在线www| 92福利视频午夜1000合集在线观看| 国产精品99蜜臀久久不卡二区| 国产精品一区二区女厕厕| 91在线观看免费高清| 亚洲精品中文字幕av| 视频一区视频二区国产精品| 国产精品久久在线观看| 国产午夜精品免费一区二区三区| 在线观看精品自拍私拍| 亚洲高清久久久久久| 国产精品96久久久久久| 国产精品久久久久久久av电影| 亚洲精品国产精品国产自| 国产91成人video| 国产精品影片在线观看| 国产美女久久精品香蕉69| 亚洲欧美日韩网| 日韩中文字幕在线| 国产成人av网| 日韩精品中文字| 欧美大片va欧美在线播放| 国产精品入口日韩视频大尺度| 日韩av一区二区在线观看| 国产精品入口尤物| 色99之美女主播在线视频| 亚洲一区二区三区香蕉| 91国产美女视频| 91色精品视频在线| 日韩电影中文 亚洲精品乱码| 国产欧美在线看| 91网站在线免费观看| 麻豆国产精品va在线观看不卡| 在线精品国产欧美| 国产精品久久在线观看| 伦伦影院午夜日韩欧美限制| 狠狠久久五月精品中文字幕| 亚洲xxxx3d| 欧美成人精品影院| 清纯唯美亚洲激情| 国产精品白丝av嫩草影院| 欧美精品手机在线| 这里只有精品视频在线| 国产精品国产亚洲伊人久久| 成人国产在线视频| 91高潮在线观看| www.亚洲一二| 国产一区二区三区免费视频| 亚洲天堂男人的天堂| 尤物tv国产一区| 97在线观看视频| 欧美成人精品不卡视频在线观看| 亚洲一二在线观看| 91精品国产综合久久久久久久久| 国产免费一区视频观看免费| 欧美精品在线免费观看| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲91av视频| 97精品视频在线观看| 欧美日本亚洲视频| 亚洲一区二区三区久久| 精品一区二区三区四区在线| 亚洲精品国产综合久久| 久久99久国产精品黄毛片入口| 91在线观看免费观看| 欧美日韩亚洲高清| 欧美成人高清视频| 国产成人精品日本亚洲| 日韩免费在线电影| 欧美性xxxxx极品| 久久国产天堂福利天堂| 国产精品一久久香蕉国产线看观看| 91在线精品播放| 精品色蜜蜜精品视频在线观看| 91老司机精品视频| 亚洲精品在线观看www| 国产成人综合精品在线| 色偷偷综合社区| 精品高清一区二区三区| 91亚洲精品一区| 日本高清+成人网在线观看| 久久亚洲精品一区二区| 92福利视频午夜1000合集在线观看| 亚洲精品自产拍| 亚洲欧洲免费视频| 精品亚洲精品福利线在观看| 亚洲精品久久在线| 91精品国产综合久久久久久久久| 久久久精品久久久久| 国产精品稀缺呦系列在线| 亚洲欧美另类人妖| 中文字幕亚洲一区二区三区| 538国产精品一区二区在线| 久久久久久这里只有精品| 日韩美女视频中文字幕| 北条麻妃一区二区三区中文字幕| 国产精品免费一区| 国产亚洲精品久久久久久| 欧美大片在线看免费观看| 中日韩美女免费视频网址在线观看| 欧美午夜久久久| 91在线观看免费观看| 国产高清视频一区三区| 国产精品嫩草视频| 国产伦精品一区二区三区精品视频| 久久久亚洲欧洲日产国码aⅴ| 毛片精品免费在线观看|