Reputation: 1
<script language="Javascript">
function test(myObject, flag)
{
if ( (flag) || ((event.keyCode == 59) || (event.which == 59)) || ((event.keyCode == 44) || (event.which == 44)))
{alert(myObject.value);}
}
function closeWin()
{self.close();}
</script>
<form name='test'>
<textarea name='textareaName' cols='44' rows='3' onChange='test(this, true);' --onKeyPress='test(this);' onBlur='test(this, true);' ></textarea>
<input type='text' name='textName'>
<input type='button' name='buttonName' onclick='closeWin();' value='Cancel'>
</form>
I have a problem: when input value (e.g: test;) into textareaName
field, the test function is always run more one time. Please show me the way can run this only one time.
Upvotes: 0
Views: 477
Reputation: 39869
Because you are adding the test
function to onKeyPress
(so every key press), onChange
(so every time it changes), and onBlur
(whenever you move to another field)
It is doing exactly what you told it to do, you should remove one of the event handlers.
Upvotes: 1