JQuery понимание - огонь проверки на вкладках? - PullRequest
0 голосов
/ 19 января 2010

Пробую свои силы с помощью jQuery. У меня странная ситуация, которую я хочу понять. Приведенный ниже скрипт «работает», единственная проблема не совсем так, как я хочу.

В настоящее время на странице загрузки. Если щелкнуть одно из полей ввода и ничего не вводить, перейти к следующему полю (т. Е. Нажать клавишу табуляции и перейти к следующему полю), проверка не запускается. По сути, я могу нажать две вкладки и нажать кнопку «Отправить». Это проходит (попадет на сторону сервера, но отчасти побеждает цель).

Если я ввожу что-то и затем удаляю это, оно запускает проверку и даже показывает сообщение правильно.

Мои вопросы:

  • Как заставить проверки запускаться, как только я «покидаю» поле, то есть, если я щелкаю внутри или попадаю в поле через вкладку, а затем «покидаю / покидаю» это поле формы, проверка должна быть запущена.

  • Какова цель получения проверки при отправке? Нужно ли ставить onSubmit или есть обработчик событий для проверки (это, я думаю, можно решить с помощью немного более интенсивного поиска в Google и чтения API), но вы были бы так добры :)?

    <style type="text/css">
      .style3 {font-size: 14px; font-weight: bold; color: #0099CC; }
      form{margin:0;}
    .error {
        font: normal 10px arial;
        padding: 3px;
        margin: 3px;
        background-color: #ffc;
        border: 1px solid #c00;
    }
    </style>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
    
    <script type="text/javascript"> 
    // jQuery validation
     $(document).ready(function() { 
        $("#advanceValidateform").validate(); 
    }); 
    </script> 
    
    
      <form id="advanceValidateform" name="advanceValidateform" style="margin:0"  action="">     
        <input type="text" id="advanceAmt1" name="advanceAmt1" class="required"  /> <br />
        <input type="text" id="advanceAmt2" name="advanceAmt2" class="required"  /> <br />
        <input type="text" id="advanceAmt3" name="advanceAmt3" class="required"  /> <br />
    </form>
    
    <table width="100%" class="hr-table">
        <tr height="1">
            <td colspan="4" align="center" >
                <form action="#" method="POST" >
                    <input type="hidden" name="empno" value="9999" ></input>
                    <input name="submit" type="submit" title="submit the form" value="  Submit and Print  "></input>
                </form>
            </td>
                </tr>
    </table>
    

1 Ответ

0 голосов
/ 19 января 2010

Если вы просто нажмете на него, событие .change () не будет запущено.Если вы хотите форсировать это, вы можете захватить .focus () и использовать .trigger () для запуска события изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...