我有一个用按钮提交的表单,但如果选中了复选标记,我还想通过输入ENTER键来提交。
我已经让输入部分工作了:
<form action="index.php">
<textarea onkeydown="pressed(event)"></textarea>
</form>
<input type="checkbox" id="enterCheckbox" />
<script>
function pressed(e) {
if ( (window.event ? event.keyCode : e.which) == 13) { document.forms[0].submit() }
}
</script>
现在我想只检查#enterCheckbox时才运行该功能,但是我无法正确执行。有什么帮助吗?
答案 0 :(得分:1)
除了添加额外条件外,您的工作是否符合预期?如果是这样,您应该只需在当前&&
支票中添加if(...)
的额外支票。
$('#enterCheckbox').attr('checked')
的某些内容应该告诉您是否选中了复选框。
答案 1 :(得分:1)
你应该可以这样做:
if(document.getElementById(enterCheckbox).checked)) {
// do all the good stuff
}
答案 2 :(得分:1)
你的功能应该包括一个额外的条件......如:
<script>
function pressed(e) {
if ( ( (window.event ? event.keyCode : e.which) == 13) AND (document.getElementById('enterCheckbox').checked) ){ document.forms[0].submit() }
}
</script>
答案 3 :(得分:0)
使用jQuery检查框是否已选中:
$("#enterCheckbox").is(":checked")
所以你的<script>
将是:
function pressed(e) {
if (($("#enterCheckbox").is(":checked")) && ((window.event ? event.keyCode : e.which) == 13)) {
document.forms[0].submit()
}
}
答案 4 :(得分:0)
如果使用jQuery,我建议使用选择器让生活更轻松。但是,检查#enterCheckbox
是否为.is(':checked')
时,您想要检查的是什么。
更新了HTML
<form id="myForm" action="index.php">
<textarea id="myTextarea"></textarea>
</form>
<input type="checkbox" id="enterCheckbox" />
jQuery实施
$('#myTextarea').on('keydown', function(e) {
var key = window.event.keyCode || e.which;
if($('#enterCheckbox').is(':checked') && key == 13) {
$('#myForm').submit();
}
});