如果字段不是数字,我试图为表单引发错误,但它不会引发任何错误并指向我定义为操作的页面。
我试图用一个函数引发错误只是警告,但它再次没有引发任何错误并打开另一个jsp。
下面是头部标签
<script type="text/javascript">
function validation() {
var a = document.getElementByid("a");
var b = document.getElementByid("b");
var c = document.getElementByid("c");
var d = document.getElementByid("a").value;
var e = document.getElementByid("b").value;
var valid = true;
if (a.value.length <= 0 || b.value.length <= 0) {
alert("Lutfen alani bos birakmayiniz");
valid = false;
} else {
if (isNan(d)) || isNan(e)) {
alert("Rakam girmediniz. Rakam giriniz lütfen")
valid = false;
} else
return valid;
}
}
</script>
以下是身体内部标记
<form onsubmit="return validation();" method="get" action="response.jsp">
</br>aaa <input type="text" id="a" value="0" />
</br>bbb <input type="text" id="b" value="0" />
</br>ccc <input type="text" id="c" />
<input type="submit" value="Submit" />
</form>
我确信即使js函数在头部并且形式在体内也可以工作。
答案 0 :(得分:0)
您的脚本代码中存在多个错误, 将document.getElementByid更改为document.getElementById 将isNan改为isNaN 并删除if(isNaN(d))时的额外括号 使用下面的
<script type ="text/javascript">
function validation()
{
var a = document.getElementById("a");
var b = document.getElementById("b");
var c = document.getElementById("c");
var d = document.getElementById("a").value;
var e = document.getElementById("b").value;
var valid =true;
if (a.value.length<=0 || b.value.length<=0)
{
alert("Lutfen alani bos birakmayiniz");
valid =false;
}
else
{
if (isNaN(d) || isNaN(e))
{
alert("Rakam girmediniz. Rakam giriniz lütfen")
valid =false;
}
}
return valid;
}
</script>