2015-02-09 3 views
1

Как отключить отправку формы для всех полей ввода, но кнопка отправки (с идентификатором submit submit). Ниже приведен код, но проблема в том, что я не могу создавать новые строки в текстовых областях. Я использую jQuery. Моя цель - предотвратить ввод из формы.Как отключить отправку формы для всех полей, но кнопка отправки

$('form').on('keyup keypress', function(e) { 
    var code; 
    code = e.keyCode || e.which; 
    if (code === 13) { 
    e.preventDefault(); 
    return false; 
    } 
}); 

ответ

0

вы можете проверить, имеет ли фокус фокус или нет.

код проверки не фрагмент кода

(function($) { 
 
    $('form').on('keyup keypress', function(e) { 
 
    if ($("input,textarea").is(":focus")) { 
 
     //input and text area has focus 
 
    } else { 
 
     var code; 
 
     code = e.keyCode || e.which; 
 
     if (code === 13) { 
 
     e.preventDefault(); 
 
     console.log('hello'); 
 
     return false; 
 
     } 
 
    } 
 
    }); 
 
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form action=""> 
 
    <textarea name="user_eingabe" cols="50" rows="10"></textarea> 
 
    <input type="submit"> 
 
</form>

+0

Это не работает для всех полей. http://jsfiddle.net/vxa32q86/ –

0

Если нет кнопки отправки, нажмите клавишу ВВОД никогда не представит форму.

Просто найдите кнопку отправки (введите тип ввода = «отправить» или кнопку) и измените свой элемент на тип кнопки и назначьте обработчик кликов для отправки формы.

<input id="formSubmit" type="button" value="Submit" /> 

Не забывайте, что <button> неявно имеет тип представить, так что если вы используете один, убедитесь, что это type="button", а также.

$("#formSubmit").click(function(){ $(this).closest("form").submit() }); 
Смежные вопросы