文本字段如下所示:
VARCHAR2
按钮看起来像这样:
<input type="text" id="nm" name="marks" value="60" onblur="return(myFunction())"/>
以下是我在onblur代码中的功能:
<input type="submit" value="submit" onclick="val();" />
例如,如果用户更改function myFunction() {
var x = document.getElementById("nm");
if(x.value>12) {
alert("error");
x.value="0";
x.focus();
return false;
}
return true;
}
文本字段的值并单击下一个文本字段,则必须显示警报(如果返回false),但是如果用户更改了{{{ 1}}字段然后单击SUBMIT按钮,如果nm
返回nm
,则{}}}中的onclick
提交按钮中的功能代码不能运行。目前,如果onblur
返回false
,onclick
中的函数将被执行。
请帮我解决一下。
答案 0 :(得分:0)
选项A:
保存onBlur函数返回变量并在val()函数的开头访问它,以了解是否必须执行其余代码。
选项B:
在onBlur上以交互方式修改按钮元素。
带有id =&#34;按钮&#34;
的按钮<input type="submit" id="button" value="submit" onclick="val();" />
新的onBlur功能:
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;
}
请注意,这两个选项都需要一个有效的onBlur(),并且无效的onClick可以再次使用。
答案 1 :(得分:0)
我认为onclcik函数足以知道值大于12或不是
function val() {
var x = document.getElementById("nm");
if(x.value>12) {
alert("error");
x.value="0";
x.focus();
return false;
}
//do whatever you want
return true;
}
<input type="text" id="nm" name="marks" value="60" />
<input type="submit" value="submit" onclick="val();" />