我这里有一个输入框
<input type="text" size="9" maxlength="9" id="my_account" name="my_account" value="" >
在这里我禁止用户在框中输入相同的数字,但我真正想要的是阻止表单提交
var inputNode = document.getElementById('my_account');
inputNode.addEventListener('keydown', (event) => {
var inputValue = event.key;
var inputNodeValue = inputNode.value;
var length = inputNodeValue.length;
if (length === 3 && inputNodeValue[0] === inputValue) {
event.preventDefault();
}
});
这是我的表格防止默认
$("form#customer-summary").submit(function(e){
e.preventDefault();
alert("prevent submit");
});
如何组合这两个部分,以便我不允许用户在框中提交相同的数字?
答案 0 :(得分:1)
var inputNode = document.getElementById('my_account');
var customer_summary = document.getElementById('customer-summary');
customer_summary.addEventListener('submit',function(e){
if(!is_unique(inputNode.value)){
e.preventDefault();
alert("prevent submit");
}
});
function is_unique(val){
for(var i=0;i<val.length;i++){
if(val.indexOf(val.charAt(i)) != val.lastIndexOf(val.charAt(i))){
return false;
}
}
return true;
}
我认为这应该可以解决问题。工作jsfiddle:https://jsfiddle.net/m31h1zhg/2/。