How to remove selected object from jquery -
jquery 1.9.1 , submitting form has single input on keypress event this
// when user clicks post quick reply $('.quickresponse').focus(function() { var quickresponse = $(this); if (quickresponse.val() === 'post quick response') { quickresponse.val(''); } quickresponse.keypress(function(e) { if (e.keycode === 13 && quickresponse.val() !== '') { post(quickresponse.parent()); return false; } }); quickresponse.blur(function() { if (quickresponse.val() === '') { quickresponse.val('post quick response'); quickresponse.remove(); } }); }); html like
<form action="comment" method="post"> <input class="quickresponse" type="text" name="comment" value="post quick response"/> <input type="hidden" name="itemid" value="${item.itemid}"/> <input type="hidden" name="posterid" value="${item.customerid}"/> </form> post function submits form via ajax , returns json update page with.
problem if user focuses on form blurs , refocuses again , again, script continues store instances of form , when user presses return key, form objects submitted multiple times. how can prevent this.
the problem keep binding other 2 events in event handler. maybe isn't direct cause of problem, bad form. bind them once instead.
var quickresponse = $('.quickresponse'); quickresponse.focus(function() { if (quickresponse.val() === 'post quick response') { quickresponse.val(''); } }).keypress(function(e) { if (e.keycode === 13 && quickresponse.val() !== '') { post(quickresponse.parent()); return false; } }).blur(function() { if (quickresponse.val() === '') { quickresponse.val('post quick response'); quickresponse.remove(); } });
Comments
Post a Comment