繁体   English   中英

用html形式输入键钩

[英]Enter key hook with html form

我用HTML实现表单:

<form id="loginForm" action="/?do=login" method="post" >
  <table width="50%" border="0">
    <tr>
      <td colspan="2">
        <span id="LoginErr"></span>
        <div>Login:</div>
        <input id="Login" type="text" maxlength="32" name="Login" value="{VAR %LOGIN}"/>
      </td>
    </tr>
    <tr>
      <td valign="bottom">
        <span id="PasswordErr"></span>
        <div>Passoword:</small></div>
        <input id="Password" type="password" maxlength="128" name="Password" value=""/>
      </td>
    </tr>
    <tr>
      <td>
        <a href="javascript:checkLogin()">Enter</a>
      </td>
    </tr>    
  </table>
</form>

这是检查和发布功能(使用jQuery):

function checkLogin() 
{
  var focused = false;    

  function report_error(field, err)
  {
    $('#' + field + 'Err').html(err);
    if (!focused) 
    {
      $('#' + field).focus();
      focused = true;
    }
  }

  $('#LoginErr').html('');
  $('#PasswordErr').html('');

  $login = jQuery.trim($('#Login').val());
  $password = jQuery.trim($('#Password').val());

  if ($login.length == 0)
    report_error('Login', 'The login field is empty!');

  if ($password.length == 0)
    report_error('Password', 'The password field is empty!');

  if (!focused) 
   $('#loginForm').submit();

} 

但是我在输入密钥时遇到麻烦。 当我按此键表单时,我没有进行JavaScript检查。 我需要在按下Enter键且没有更多操作时调用我的函数。

谢谢!

更新:正确的代码是:在表单标签中需要添加: onSubmit="return checkLogin() in javascript if (!focused) $('#loginForm').submit(); return !focused;需要更改return !focused;感谢rdamborsky。

使用onSubmit表单事件:

$(function() {
    $('#loginForm').onSubmit = checkLogin;
});

在触发提交事件的任何形式的表单数据实际发送之前,它将被调用(单击按钮,在字段之一内按Enter ...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM