2013-03-06 64 views
1

我在頁面上有一個textarea。並決定驗證這個元素。我插入簡單的文本,並在JS我檢查這個元素的長度。但是,當我刪除所有的文本,我可以保存沒有任何問題。我看到在Firebug和textarea的我發現檢測textarea裏面的標記符號

<ul></ul><br/> 

}

// JS

for(var i=0; length > i; i++){ 
     value = textElements[i].value; 
     if(value == "" ||(value == "<br/>" && element.tagName == "TEXTAREA")){ 
      full = false; 
      emptyElements.push(elements[i]); 
     } else { 
      empty = false; 
      elements[i].style.borderColor = ""; 
      elements[i].style.border = ""; 
     } 
    } 

廣告HTML

<br /><div id="edit-contentFrame-form:editor" style="visibility:hidden"><textarea id="edit-contentFrame-form:editor_input" name="edit-contentFrame-form:editor_input"><h3></h3><h3></h3><h3><br/></h3><ul> 
</ul></textarea></div> 

我試圖找到現有的方法來解決這個問題。但沒有什麼可發現的。

///EDITED 

function isEmptyTextArea(){ 
       var str = document.getElementById('edit-contentFrame-form:editor_input').value; 
       var regexp = new RegExp("(&lt;+[\w]+&gt;+)*", "g"); 
       var matches_array_tags = str.replace(regexp, ''); 

       if(matches_array_tags.length == 0){ 
        return true; 
       } 
       return false; 
      } 
+3

請發表您的HTML和JS代碼。 – BenM 2013-03-06 07:21:00

回答

0

我解決我的旁邊js函數問題

function isCompleteTagContent(str){ 
    var re= /<\S[^><]*>/g; 
    var matches_array_tags = str.replace(re, ""); 

    if(matches_array_tags.trim().length == 0){ 
     return true; 
    } 
    return false; 
} 
1

您可以使用正則表達式來代替,並剝去textarea的所有「標記符號」標籤,如果你不希望人們能夠輸入HTML。

+0

我不想替換或去掉用戶的符號。我只是想找到檢查textarea的方法,它只包含marup符號 – Ray 2013-03-06 07:32:11

+0

如果我複製textarea內容。我如何用正則表達式替換所有「標記符號」? – Ray 2013-03-06 07:49:25

+0

正則表達式也可以這樣做,有一個.test()方法「用於測試字符串中的匹配,它返回true或false。」你可以使用它(見更多:https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions#Working_with_Regular_Expressions) – sweetamylase 2013-03-06 07:49:35

1
var txtarea = document.getElementById('txtarea'); 
if(escape(txtarea.value) === '') 
    // textarea is empty 

不包括空格:

if(escape(txtarea.value.trim()) === '') 
    // textarea is empty (not including whitespaces) 
+0

'value = escape(textElements [i]).value;'Intellige IDEA給出一個轉義的棄用函數 – Ray 2013-03-06 07:34:54

+0

@Ray然後使用encodeURI() – karaxuna 2013-03-06 07:38:27

+0

不,它不會幫助encodeUri只是替換UTF-escape-序列。包含標記符號的Textarea值不會清空 – Ray 2013-03-06 07:47:51