2015-02-23 2 views
0

Мне сложно с этим скриптом ... У меня есть html-форма name = "mainF", которая имеет два ввода-> submit внутри формы. находится в навигации, которая имеет фиксированное положение, которое плавает поверх страницы и каждой страницы через mvc. Когда я создаю экземпляр своего приложения в общедоступном каталоге (index.php), я также включаю header.php поверх $ app = new App; и footer.php внизу. На моей странице header.php у меня есть css, javascript и запускаю тело, а также начало разметки html-формы и навигацию для поиска. В footer.php у меня есть закрытие формы html markup </form>. Когда я нахожусь на странице входа (через мои представления в середине header.php и footer.php), на странице будет два ввода. Я работаю над этим скриптом для обнаружения ввода-> текста для каждого раздела ввода-> отправки на странице, поэтому, если я поместил ключевое слово для раздела поиска, я мог бы нажать клавишу ввода на клавиатуре, и он выполнит ввод- > отправить для поиска, или если я попытаюсь войти в систему и ввести имя пользователя и пароль, я мог бы нажать на клавиатуре сразу после ввода и попытаться войти в систему. Этот скрипт работает в IE, но не в Chrome, и он дает мне код ошибки в консоли chrome: uncaught referenceError: sKey не определен onkeydown ... и то же самое для logKey: uncaught referenceError: logKey не определен onkeydown ... Пожалуйста, помогите!uncaught referenceError: sKey не определен onkeydown in chrome

Этого сценарий в footers.php:

$(document).ready(function() { 
    $('#searchBTN').prop('disabled', true); 
    $('#skeys').keyup(function() { 
     if($(this).val() != '') { 
      $('#searchBTN').prop('disabled', false); 
      function sKey(event) { 
       var s = event.keyCode; 
       if(s == 13) { 
        document.mainF.searchBtn.click(); 
       } 
      }); 
     } 
    }); 
    $('#loginB').prop('disabled', true); 
    $('#pass').keyup(function() { 
     if($(this).val() != '') { 
      $('#loginB').prop('disabled', false); 
      function logKey(event) { 
       var l = event.keyCode; 
       if(l == 13) { 
        document.mainF.loginBtn.click(); 
       } 
      }); 
     } 
    }); 
}); 

....

+0

У кого-нибудь есть идеи? – smor

ответ

0

я не был в состоянии воссоздать вашу конкретную ошибку, но я получаю сообщение об ошибке, вызванной неправильным синтаксисом в вашей подфункции.

 function logKey(event) { 
      var l = event.keyCode; 
      if(l == 13) { 
       document.mainF.loginBtn.click(); 
      } 
     }); 

должен быть

 function logKey(event) { 
      var l = event.keyCode; 
      if(l == 13) { 
       document.mainF.loginBtn.click(); 
      } 
     } 

Эта ошибка присутствует в обоих ваших функций Skey и logKey и генерируется ошибка синтаксиса в хромированной консоли.

+0

Спасибо! Я исправил синтаксис, но я все еще получаю sKey, не определено, когда я начинаю вводить ключевое слово в разделе поиска или в моем logKey ... Хмммм, мне интересно и крутить мои колеса по этой проблеме. – smor

+0

@smor Было бы возможно добавить jsfiddle к вашему вопросу? Было бы легче увидеть, что может произойти неправильно, если я смогу воссоздать ваше сообщение об ошибке. Между тем, потому что он плачет о том, что у вас нет функций keydown, возможно, это поможет попробовать бросить курить в некоторых играх с клавиатурой рядом с вашими событиями с клавиатурой. – skrawler

+0

Хорошо, вот мы идем .. извините за задержку. https://jsfiddle.net/9tfkz716/ – smor

Смежные вопросы