Javascript 如果onblur返回false,则防止执行提交按钮中的onclick代码
文本字段如下所示:Javascript 如果onblur返回false,则防止执行提交按钮中的onclick代码,javascript,Javascript,文本字段如下所示: <input type="text" id="nm" name="marks" value="60" onblur="return(myFunction())"/> <input type="submit" value="submit" onclick="val();" /> 例如,如果用户更改nm文本字段的值并单击下一个文本字段,则必须显示警报(如果返回false),但如果用户更改nm字段的值,然后单击提交按钮,如果onblur返回false,则
<input type="text" id="nm" name="marks" value="60" onblur="return(myFunction())"/>
<input type="submit" value="submit" onclick="val();" />
例如,如果用户更改nm
文本字段的值并单击下一个文本字段,则必须显示警报(如果返回false),但如果用户更改nm
字段的值,然后单击提交按钮,如果onblur
返回false
,则提交按钮中的onclick
功能代码不得运行。目前,如果onblur
返回false
,则执行onclick
中的函数
请帮助我解决问题。选项a: save onBlur函数返回一个变量,并在val()函数的开头访问它,以了解是否必须执行其余代码 选项B: 在onBlur上以交互方式修改按钮元素 带有id=“Button”的按钮
请记住,这两个选项都需要一个有效的onBlur()和一个无效的onClick才能再次工作。我认为onclcik函数足以知道值是否大于12
函数val(){
var x=document.getElementById(“nm”);
如果(x.value>12){
警报(“错误”);
x、 value=“0”;
x、 焦点();
返回false;
}
//你想干什么就干什么
返回true;
}
非常感谢。成功了。这节省了我很多时间。我一直在想一条出路。
function myFunction() {
var x = document.getElementById("nm");
if(x.value>12) {
alert("error");
x.value="0";
x.focus();
return false;
}
return true;
}
<input type="submit" id="button" value="submit" onclick="val();" />
function myFunction()
{
var x = document.getElementById("nm");
var button = document.getElementById("button");
if(x.value>12)
{
button.removeAttribute("onclick");
alert("error");
x.value="0";
x.focus();
return false;
}
button.setAttribute("onclick", "val();");
return true;
}