如果javascript输入为空,如何防止提交

如果javascript输入为空,如何防止提交,javascript,validation,Javascript,Validation,我有一个登录表单,但我想检查字段是否为空,然后不要提交。我在提交时确实“返回false”,但浏览器仍会加载新页面。我怎样才能阻止它 JS: var username=document.getElementById('usernameField'); var password=document.getElementById('passwordField'); var loginBtn=document.getElementById('loginBtn'); var infoBox=document

我有一个登录表单,但我想检查字段是否为空,然后不要提交。我在提交时确实“返回false”,但浏览器仍会加载新页面。我怎样才能阻止它

JS:

var username=document.getElementById('usernameField');
var password=document.getElementById('passwordField');
var loginBtn=document.getElementById('loginBtn');
var infoBox=document.getElementById('formInfo');
var isEmpty=/^\s*$/;
var addEventTo=函数(id、类型、fn、捕获){
if(文件增补列表器){
id.addEventListener(类型、fn、捕获);
}否则{
id.attachEvent('on'+类型,fn);
}
};
函数checkifalempty(){
var loginForm=document.getElementById('loginForm'),
allInputs=loginForm.getElementsByTagName('input'),
最大值=所有输入长度,
我
对于(i=0;i
HTML:

登录
  • 用户名 请输入您的用户名
  • 暗语 请输入您的密码

  • 非常感谢

    您可以将属性disabled=“disabled”用于表单输入:


    将submit按钮设置为disabled,然后向每个输入字段添加一个onchange侦听器,这样,如果每个字段都已填充,则可以删除disable属性,用户可以将其添加到表单中。

    您可以使用disabled=“disabled”属性进行表单输入:


    将submit按钮设置为disabled,然后向每个输入字段添加onchange侦听器,这样,如果每个字段都已填充,则删除disable属性,用户可以将其添加到表单中。

    看起来onsubmit的事件侦听器添加不正确,无论如何,最简单的方法是添加onsubmit=“return someValidationFuncthattReturnTrueOrFalse()”格式为:

    <form id="loginForm" method="post" action="#" onsubmit="return validate()">
    

    或者类似的…

    看起来onsubmit的事件侦听器没有被正确添加,无论如何,最简单的方法是在表单中添加onsubmit=“return SomeValidationFunctatReturnTrueOrFalse()”:

    <form id="loginForm" method="post" action="#" onsubmit="return validate()">
    
    或者类似的东西…

    如果可以使用html5(适用于较新版本的Safari、Chrome、Firefox、Opera>11.00,但没有IE),您可以在输入字段中添加所需的标记

    <p id="formInfo"></p>
      <form id="loginForm" method="post" action="#">
        <fieldset id="loginFieldset">
          <legend>Sign in</legend>
          <ol>
            <li>
             <label for="usernameField">Username</label>
             <input type="text" placeholder="Enter username" id="usernameField" required />
             <span>Please type in your username</span>
            </li>
            <li>
             <label for="passwordField">Password</label>
             <input type="password" placeholder="Enter password" id="passwordField" required />
             <span>Please type your password</span>
            </li>
            <li>
                <input type="submit" value="Sign in" id="loginBtn" />
            </li>
        </ol>
    </fieldset>
    

    登录
  • 用户名 请输入您的用户名
  • 暗语 请输入您的密码
  • 如果可以使用html5(适用于更新版本的Safari、Chrome、Firefox、Opera>11.00,但没有IE),您可以在输入字段中添加所需的标记

    <p id="formInfo"></p>
      <form id="loginForm" method="post" action="#">
        <fieldset id="loginFieldset">
          <legend>Sign in</legend>
          <ol>
            <li>
             <label for="usernameField">Username</label>
             <input type="text" placeholder="Enter username" id="usernameField" required />
             <span>Please type in your username</span>
            </li>
            <li>
             <label for="passwordField">Password</label>
             <input type="password" placeholder="Enter password" id="passwordField" required />
             <span>Please type your password</span>
            </li>
            <li>
                <input type="submit" value="Sign in" id="loginBtn" />
            </li>
        </ol>
    </fieldset>
    

    登录
  • 用户名 请输入您的用户名
  • 暗语 请输入您的密码
  • 我使用Prototype(作为javascript框架),这段代码应该可以工作:

    js:

    html:

    
    
    它的作用是: 加载文档后,会将事件观察者附加到按钮上,因此在单击该按钮时,会调用函数check清空。 此函数将检索输入值,如果输入值不为空,则提交表单

    希望它能有所帮助

    我使用Prototype(作为javascript框架),这段代码应该可以工作:

    js:

    html:

    
    
    它的作用是: 加载文档后,会将事件观察者附加到按钮上,因此在单击该按钮时,会调用函数check清空。 此函数将检索输入值,如果输入值不为空,则提交表单


    希望有帮助

    你能提供表单的HTML代码吗?或者你是动态创建表单的吗?嗨@Naama Katiee:我已经添加了HTML…你能提供表单的HTML代码吗?或者你是动态创建表单的吗?嗨@Naama Katiee:我已经添加了HTML…但是我不能使用任何库,它必须是纯JavaScription,但是我不能对于任何库,它都必须是纯JavaScription。只输入空格如何?我刚用过它,但在输入字段中输入空格时它仍在提交。只输入空格如何?我刚用过它,但在输入字段中输入空格时它仍在提交。
    <p id="formInfo"></p>
      <form id="loginForm" method="post" action="#">
        <fieldset id="loginFieldset">
          <legend>Sign in</legend>
          <ol>
            <li>
             <label for="usernameField">Username</label>
             <input type="text" placeholder="Enter username" id="usernameField" required />
             <span>Please type in your username</span>
            </li>
            <li>
             <label for="passwordField">Password</label>
             <input type="password" placeholder="Enter password" id="passwordField" required />
             <span>Please type your password</span>
            </li>
            <li>
                <input type="submit" value="Sign in" id="loginBtn" />
            </li>
        </ol>
    </fieldset>
    
    function checkEmpties() {
        var usr = $('username');
        var pass = $('pass');
        var frm = $('formId');
    
    
        if (usr.value && pass.value) {
            //frm.submit();
            alert('submit');
        } else {
            alert('failed');
        }
    }
    
    Event.observe(window, 'DomReady', function() {
        var btn = $('submitBtn');
        Event.observe('submitBtn', 'click', checkEmpties);
    }
    
    <form id="formId">
        <input type="text" name="username" id="username" />
        <input type="password" name="pass" id="pass" />
        <input type="button" id="submitBtn" value="Send"  />
    </form>