2010-01-06 5 views
0

Очевидно, что я знаю, как это сделать с помощью DefaultButtons в веб-форме ASP.NET. Однако, как наш клиентский разработчик написал код, у него есть кнопка отправки, сделанная с помощью javascript:Установите кнопку изображения для запуска при нажатии клавиши ввода

Так что javascript отображает HTML.

<img id="submitBMI" onclick="quizCalc(); return false;" class="btnHover" src="Submit.gif"> 

Есть ли все равно, чтобы сделать это DefaultButton?

Спасибо, ребята.

+0

Это то, что вы после того, как клавишу ввода нажатой внутри текстового поля представить к методу quizCalc()? Если да, то работает ли он в любом из разных браузеров? –

ответ

2

Если вы хотите вызвать метод quizCalc(), когда, например, клавиша ввода нажата в текстовом поле этой формы, вы можете просто установить обработчик onsubmit формы для вызова этого метода:

<form ... onsubmit="quizCalc(); return false;"> 

Если вы хотите немного больше контроля, на котором входные элементы вызова метода, то вы можете посмотреть на использование OnKeyPress с одного обработчика OnKeyPress (событие), проверить на обновления similar question

Вы можете сделать то, что Джонатан говорит, но просто удалите возвращаемое значение false, поскольку это отменяет нажатие клавиши, добавляя символы в текстовое поле.

document.onkeydown = function(e) 
{ 
    var keyCode = document.all ? event.keyCode : e.which; 
    if(keyCode == 13) quizCalc(); 
} 
+0

Хмм, похоже, это не так. –

+0

также, если вы используете форму onsubmit, убедитесь, что вы избавились от кода onkeydown/onkeypress/onkeyup, относящегося к клавише [Enter] (keyCode 13), поскольку я считаю, что onsubmit имеет больше смысла, чем захват ключа в любом месте страницы, просто мой 2c –

1

Предполагая, что вы не используете библиотеку JS, это будет работать, если ввести нажимается в любом месте на странице:

document.onkeydown = function KeyDown(e) 
{ 
    var keyCode = document.all ? event.keyCode : e.which; 

    if(keyCode == 13) { 
    quizCalc(); 
    return false; 
    } 
} 
+0

Я использую jquery в некоторых частях страницы. Это не сработало, это не позволяло мне вводить текст в текстовые поля. –

+0

Глупый меня. Вы действительно хотите сначала ввести данные в свою форму, не так ли? Обновлено. – JonathanK

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