Dev
Dev

Reputation: 1

Alert is showing two times. how to restrict?

<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

Answers (1)

Mitch Dempsey
Mitch Dempsey

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

Related Questions