我已經創建了一個可擴展的textarea。計算內容的字符數並計算和修改textarea的行號。這工作得很好。但是,當用戶手動輸入單個字符時,不會添加任何行。計數值的發生次數,如@@?
我想改變它,以便用戶可以在新段落之前添加@@來創建自己的段落。這將被保存到數據庫。當我從數據庫輸出它時,我會用<br /><br />
替換@@。
下面是我使用來計算行數的函數:
function getRowCount(NumCharacters) {
var NewRows = NumCharacters/40;
NewRows = parseInt(NewRows) + 1;
return NewRows;
}
每行有40個字符。每次用戶再次輸入40個字符時,都會添加另一行。
在我的JavaScript中,當用戶點擊@@時,我需要在行數上多加一行。
如何使用JavaScript搜索並計算找到@@序列的次數?並每次添加一行?
++++++++++++++++++++++++++++++++++++++++++
我已經嘗試了下面的一些答案。其中兩個非常好,可讀性強,操作簡單。但是,兩者都會產生一個我無法解決的錯誤。 Firebug告訴我:
ThisText.match(/@@/g) is null
是的,我知道它是空的。沒有找到@@。
這將引發一個錯誤:
var MyString = "Would you like to help me today?";
ExtraRows = MyString.match(/@@/g).length + 1;
這不會引發錯誤:
var MyString = "Would you like to @@help me today?";
ExtraRows = MyString.match(/@@/g).length + 1;
那麼,我該如何擺脫,似乎在沒有發生錯誤的@@要找到?
你有沒有嘗試在'textarea'上設置'wrap = hard'?這將導致'textarea'向服務器發送換行符。 '
不,我還沒有嘗試過wrap =「hard」。我有這種感覺,我現在要去檢查一下吧! –
您仍然必須手動在每40個字符處插入一個換行符,但至少您可以避免混亂。 – Mrchief