0

ボタンで送信するフォームがありますが、チェックマークがチェックされている場合は、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 がチェックされている場合にのみその関数を実行したいのですが、正しく実行するのに問題があります。何か助けはありますか?

4

5 に答える 5

1

余分な条件を追加する以外に、期待どおりに機能しますか? &&その場合、現在のチェックに追加のチェックを追加するだけでよいはずですif(...)

$('#enterCheckbox').attr('checked')チェックボックスがチェックされているかどうかは、次の行に沿って表示されます。

于 2013-03-06T23:47:56.277 に答える
1

次のようなことができるはずです。

if(document.getElementById(enterCheckbox).checked)) {
    // do all the good stuff
}
于 2013-03-06T23:50:39.583 に答える
1

関数には、次のような追加の条件が含まれている必要があります。

<script>
  function pressed(e) { 
    if ( ( (window.event ? event.keyCode : e.which) == 13) AND (document.getElementById('enterCheckbox').checked) ){ document.forms[0].submit() }
  }
</script>
于 2013-03-06T23:53:42.883 に答える
0

jQuery を使用して、ボックスがチェックされているかどうかを確認するには:

$("#enterCheckbox").is(":checked")

だからあなたは次の<script>ようになります:

function pressed(e) { 
    if (($("#enterCheckbox").is(":checked")) && ((window.event ? event.keyCode : e.which) == 13)) {
        document.forms[0].submit()
    }
}
于 2013-03-06T23:49:24.077 に答える
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();
    }
});
于 2013-03-06T23:50:12.420 に答える