我有一个textarea验证码,只在textarea不为空时提交。下面的代码工作得很好但是如何防止textarea中的内容连续多次按键盘返回提交多次?
document.getElementById('input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13 && $.trim($(this).val())) {
e.preventDefault();
send();
}
});
答案 0 :(得分:1)
这不是最好的解决方案,但您仍然可以按照要求操作它
var arr = [];
document.getElementById('input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13 && $.trim($(this).val())) {
e.preventDefault();
send($(this).val());
//console.log('here');
}
});
function send(data){
var dataFrm = '';
dataFrm += data;
arr.length = 0;
arr.push(dataFrm);
console.log(arr);
}
console.log(arr); // you can send this array through ajax
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<textarea name="notn" id="input"></textarea>
答案 1 :(得分:0)
window.formWasSubmitted = false;
document.getElementById('input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13 && $.trim($(this).val()) && !window.formWasSubmitted) {
e.preventDefault();
window.formWasSubmitted = true;
send();
}
});