Javascript 表单在使用无效输入提交后是否未提交?
我有一个javascript函数,如下所示:Javascript 表单在使用无效输入提交后是否未提交?,javascript,validation,Javascript,Validation,我有一个javascript函数,如下所示: function validateInput() { var search_text = document.getElementById('search_text').value; var size = document.getElementById('size').value; var submitButton = document.getElementById('sb_search');
function validateInput() {
var search_text = document.getElementById('search_text').value;
var size = document.getElementById('size').value;
var submitButton = document.getElementById('sb_search');
document.getElementById('sb_search').disabled=false;
var filter = /^[\x20-\x7E]*$/;
if (filter.test(search_text) && search_text.length>0){
return true;
}
else{
submitButton.setAttribute('disabled');
}
}
一旦我在没有值的情况下按了submit按钮,并且没有满足正则表达式的要求,按钮就不会提交了 这是因为search_text.length==0,因此您会陷入else并禁用提交按钮当输入为零或不符合正则表达式时,您将禁用提交按钮 你也没有返回真的,这是持有它从提交 在else条件下输入一个返回值false。 而不是document.getElementById'sb_search'。disabled=false;尝试 document.getElementById'sb_search'.removeAttribute'disabled'
将return放在else语句中为false
function validateInput() {
var search_text = document.getElementById('search_text').value;
var size = document.getElementById('size').value;
var submitButton = document.getElementById('sb_search');
document.getElementById('sb_search').disabled=false;
var filter = /^[\x20-\x7E]*$/;
if (filter.test(search_text) && search_text.length>0){
return true;
}
else{
submitButton.setAttribute('disabled');
return false;
}
}
这就是我需要的。它从第一次提交表单开始停止。但在那之后,即使我输入了值,表单也不会提交。你应该使用@Rhea的答案。你的问题不清楚。当正则表达式不满足且输入为空时,应该禁用submit按钮。这是你的密码!是的,现在当满足正则表达式且输入不为空时,表单甚至不会提交。在if中添加一个警报,并检查它是否进入。按照我下面的答案执行=document.getElementById'sb_search'。removeAttribute'disabled'不加注释的下推表决是站不住脚的!