我已经使用以下代码进行javascript验证,根据条件返回true或false
javascript块
function fnval()
{
if(document.field.value == "")
{
alert("Invalid value");
return false;
}else{
return true;
}
}
这是我的HTML:
<Input type=submit name="sub" onClick="return fnval()">
因此,js块检查是否输入了字段值。如果不是,则抛出警告消息并返回false,因此表单不会被提交 但是如果值不为空,则返回true,但表单仍未提交。
我见过一些人提出的问题,其中返回false会导致提交表单。但这恰恰相反......目前我无法找到解决方案。
有人可以帮我这个吗?
答案 0 :(得分:3)
function fnval()
{
if(document.getElementsByName('field')[0].value == "")
{
alert("Invalid value");
return false;
}else{
return true;
}
}
<小时/>
getElementsByName
虽然没有IE支持。也许:
function fnval()
{
if(findInput('field')[0].value == "")
{
alert("Invalid value");
return false;
}else{
return true;
}
}
function findInput(name) {
var elements = document.getElementsByTagName('input'),
length = elements.length,
i = 0,
results = [];
for(i; i<length; i++) {
if (elements[i].name === name) {
results.push(elements[i]);
}
}
return results;
}
答案 1 :(得分:2)
您需要添加表单名称和表单值。类似的东西:
if ( document.formName.fieldName.value == "" )
例如,使用这种HTML:
<form method="post" onsubmit="">
Password: <input name="password" type="text" /><br />
</form>
js:
if (document.form.password.value == "") {
//empty
}
答案 2 :(得分:2)
我建议在表单onsubmit
中使用<form ... onsubmit="return fnval()">
,
尝试添加并将return false
放在函数的基础上。
答案 3 :(得分:0)
无论你在js做什么。但是如果你填写了表单元素元素的动作标签,表单将会提交。
答案 4 :(得分:-1)
语法错误:
type="submit"
不是
type=submit