如果按RETURN / ENTER,则在输入框中提交表格。在textarea中按RETURN会产生换行符。如何在RETURN keydown上创建一个而不是生成换行符提交表单,在SHIFT + RETURN中生成换行符? (像fb和其他网站一样)
有没有办法用HTML做到这一点?如果不是如何用JS完成?
这就是我现在正在尝试的事情:
$('#conversationForm textarea').keydown(function(e) {
e = e || event;
if(e.keyCode == 13 && !e.shiftKey) {
$("#conversationForm").submit();
return false;
}
});
然而,当我无法阻止断线发生时。 (如果按RETURN,则在提交之前可以看到换行符。)
答案 0 :(得分:2)
使用jQuery,与其他答案类似,但包括你的提交转换请求不提交但只是换行
$("#mytextarea").keypress(function() {
if(event.which == 13 && !event.shiftKey)
{
//submit your form here i.e. form.submit();
}
});
如果按下shift,它将不会提交,只是给你一个换行符。
答案 1 :(得分:1)
您可以看到Submitting data from textarea by hitting "Enter"的可能重复
[SomeTextarea].onkeyup = function(e){
e = e || event;
if (e.keyCode === 13) {
// start your submit function
}
return true;
}
将是您寻找的解决方案
答案 2 :(得分:0)
附加keydown
事件监听器。如果event.keyCode || event.which
评估为13(或10,为了安全),则按下Enter键,以便您可以使用表单的submit
方法提交表单。