- How to update a column with incrementing numbers
- How to get top N rows for each group?
- How to put a column into a delimited form
- How to export results of a stored procedure to a txt file
- Parsing delimited words from a column
- How to get N-th max value
- How to get a random row from a table
- How to dynamicaly rank rows
- How to get just date or just time from a datetime value
- Windows Media Player and folder.jpg Hell
Home :: Tips & Tricks :: Javascript
Count Words Function
Here's a script that dynamically keeps track of how many words have been entered. The script changes any new line characters into single spaces and then splits the string into separate pieces wherever there is a space. All of the pieces that actually contain something are "words" and get counted.
function cnt(w,x){
var y=w.value;
var r = 0;
a=y.replace(/\s/g,' ');
a=a.split(' ');
for (z=0; z<a.length; z++) {if (a[z].length > 0) r++;}
x.value=r;
}
Call this routine whenever your visitor tries to enter anything into either field (we include the count field so that anything they enter there will be changed back into the correct count of words in the field we are counting). We do this by using the onkeyup method so that the count is recalculated every time anything is typed.
<form name="myform">
<textarea rows="15" name="w" cols="45"
onkeyup="cnt(this,document.myform.c)"></textarea>
<br />Word Count: <input type="text" name="c" value="0" size="5"
onkeyup="cnt(document.myform.w,this)" />
</form>
In each case both fields are passed to the function in the same order (field to count words in, field to display count). You can call the fields whatever you like as long as you reference them correctly by name in the function call.
Note: This script and the description of how it works are copied from the "Ask Felgall" website with the permission of the copyright owner.
Source: Unknown
