2013-03-31 2 views
0

У меня есть html-форма с input type = text, которая запускает пользовательскую функцию js на submit. Когда пользователь нажимает ENTER, слушатель jQuery вызывает ту же функцию.Сделать курсор оставить текстовое поле с jQuery

Это означает: пользователь может выбрать между нажатием кнопки отправки и нажатием ENTER.

Поскольку моя функция js позволяет пользователю оставаться на текущей странице, курсор остается активным в текстовом поле, которое было в последний раз сфокусировано. Таким образом, пользователь может продолжать атаковать ENTER и постоянно запускать js-функцию. Конечно, я мог бы попытаться предотвратить это с помощью логического типа «didEnterFunction». Но могу ли я заставить курсор покинуть текстовое поле? Это было бы более элегантно.

Я представляю себе что-то вроде этого:

<form method="post" onsubmit="return myJS();"> 
    <input type="text" name="request" /> 
    <input type="submit" value="OK" /> 
</form> 

и

function myJS() { 
    // Make the cursor leave the text field "request" 
    ????? 

    return no; // prevent submission of the form (reload) 
} 
+0

См http://stackoverflow.com/questions/2322603/move-cursor -in-javascript – Mooseman

ответ

0

Попробуйте это:

function myJS() { 
    // Make the cursor leave the text field "request" 
    $('input[type="submit"]').focus(); 

    return false; // prevent submission of the form (reload) 
} 
+0

Я думаю, что идея правильная. Однако перемещение фокуса на кнопку «Отправить» снова представит форму, когда я нажму «Enter»! – andreas

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