填写表单的textarea时,按下回车键时的默认行为是移动到下一行.我如何更改表单的行为,以便即使用户在textarea中,它也会在用户点击输入时提交?
我使用Firebug来检查Stack Overflow的注释textarea(有这种行为),但是看不到任何实现这种效果的JavaScript.有没有办法在不使用JavaScript的情况下改变textarea的行为?
Bal*_*usC 105
没有JavaScript,你不能这样做.Stackoverflow使用jQuery JavaScript库,它在页面加载时将函数附加到HTML元素.
以下是使用vanilla JavaScript的方法:
<textarea onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }"></textarea>
Run Code Online (Sandbox Code Playgroud)
键码13是回车键.
以下是使用jQuery的方法,就像Stackoverflow一样:
<textarea class="commentarea"></textarea>
Run Code Online (Sandbox Code Playgroud)
同
$(document).ready(function() {
$('.commentarea').keydown(function(event) {
if (event.which == 13) {
this.form.submit();
event.preventDefault();
}
});
});
Run Code Online (Sandbox Code Playgroud)
<form id="myform">
<input type="textbox" id="field"/>
<input type="button" value="submit">
</form>
<script>
$(function () {
$("#field").keyup(function (event) {
if (event.which === 13) {
document.myform.submit();
}
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
你为什么要在输入时提交textarea?
按Enter键时,默认情况下会提交"文本"输入.它是单线输入.
<input type="text" value="...">
Run Code Online (Sandbox Code Playgroud)
"textarea"不会,因为它受益于多线功能.提交输入会带走一些好处.
<textarea name="area"></textarea>
Run Code Online (Sandbox Code Playgroud)
您可以添加JavaScript代码来检测输入按键和自动提交,但最好使用文本输入.
| 归档时间: |
|
| 查看次数: |
120805 次 |
| 最近记录: |