Javascript表单值无效

Javascript表单值无效,javascript,validation,Javascript,Validation,这一定是个小问题,但我就是找不到。也许你们中的一个可以帮我 Javascript 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-lev

这一定是个小问题,但我就是找不到。也许你们中的一个可以帮我

Javascript

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>

登录
记得我吗
登录
错误


浏览器未显示空字符串错误。

不知道不希望出现的行为(您没有说),我猜这与验证函数成功时缺少正返回值有关。代码从结尾处掉了下来。

您可以使用jQuery更容易地选择html的某些部分。查看此文件以获得有效的解决方案

请注意,检查javascript中的值并假设这些值在您的安全级别中是正确的是不安全的。因此,如果输入有效,则更常见的做法是提交表单并返回

$.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);
    }
}
就你而言,这条线

var fname=formname.fname.value;
执行验证函数时抛出错误,因为表单中没有包含
fname
的元素,对其进行注释即可

它在哪里不工作?它是否会发出警报,但不会阻止表单提交?它一点也不警觉吗?无论发生什么情况,它都会提交表格吗?尝试以某种方式进行调试—在Javascript中放置警报以跟踪进度,或者其他方式。查看浏览器的控制台,查看Javascript遇到的任何错误。当我有空字符串时,浏览器不会弹出错误。我可以补充一点,
fname
甚至没有在代码中进一步使用。是的,看起来像是以前使用过的表单中没有删除的内容,我猜谢谢您的帮助。直到你告诉我我才注意到。
var fname=formname.fname.value;