它必须是一个小问题,但我找不到它。也许你们其中一个人可以帮助我。
的Javascript
function white_space(field)
{
field.value = field.value.replace(/^\s+/, "");
}
function validate(){
var formname=document.reg_form;
var fname=formname.fname.value;
var mess="";
var uname=formname.prodName.value;
if(uname==""){
mess= mess+"User Name cannot be blank\n";
}
var pass=formname.prodPrice.value;
if(pass==""){
mess= mess+"Password cannot be blank\n";
}
if(mess){
alert(mess);
return false;
}
}
HTML表格
<form class="form-signin" action="#" onSubmit="return validate();" name="reg_form">
<h2 class="form-signin-heading">Sign-In</h2>
<input type="text" class="input-block-level" name="prodName" placeholder="Email address" onKeyPress="white_space(this)">
<input type="password" class="input-block-level" name="prodPrice" placeholder="Password" onKeyPress="white_space(this)">
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button class="btn btn-large btn-primary" type="submit">Sign in</button>
</form>
错误
浏览器不显示空字符串错误。
答案 0 :(得分:1)
在你的情况下这一行
var fname=formname.fname.value;
执行验证函数时抛出错误,因为表单中没有fname
的元素,对它进行评论,你就可以了
http://jsbin.com/oxawil/1
答案 1 :(得分:0)
不知道这种行为是不受欢迎的(你没有说),我猜测如果验证功能成功,它与缺少正回报值有关。代码刚刚结束。
答案 2 :(得分:0)
您可以使用jQuery更轻松地选择部分HTML。查看此jsFiddle以获得有效的解决方案。
请注意,检查javascript中的值并假设值在您的安全级别中是正确的是不安全的。因此,提交表单更常见,如果输入是valide则返回。
$.ajax('url', function(json) {
var msg = '';
switch(json.status) {
case 'name':
msg += 'name not set';
break;
case 'pwd':
msg += 'password not set';
break;
}
if(msg != '') {
alert(msg);
}
}