0

フォームにテキスト ボックスがあり、このチェックボックスがフォーカスされているので、Enter キーを押してフォームを送信します。ただし、これは私が望む動作ではありません。フォームを検証し、特定のリンクをクリックするか、テキスト フィールドの外側で Enter キーを押した場合にのみ手動で送信したいと考えています。これが私のフォームのコードです

<form action ="<?php echo $this->url(array('controller' => 'Queue','action' => 'checkinupcoming'))."/?confirmnumber=$this->confNumber&clientid=$this->clientId";?> " data-ajax="false" method= "post" class="checkin-form">     
                <h3>Customer Details</h3>

                <ul class="form" style="margin:  10px 0 15px 27px">
                        <li id="descriptionLiId" class="first last descriptionLi">
                                <label id="lbldescriptionId" class="lbldescription">Description</label>
                                <input id="descTextId" class="descriptionText" tabindex="1" type="text" name="description" title="Enter visually identifying description" value="Enter visually identifying description" onfocus="onFocusBehavior(this);" onblur="onBlurBehavior(this);" />
                        </li>
                </ul>

                <h3 id="hdrnotesId" class="hdrnotes">Notes</h3>

                <ul class="form">
                        <li id="notesListId" class="first last notesList">
                                <textarea id="notesId" class="text-area notes" tabindex="1" name="notes"></textarea>
                        </li>
                </ul>
</form> 

入力をシリアル化し、jquery ajax リクエストを送信してフォームを送信しています。テキストフィールドがフォーカスされているときに、入力ボタンでのフォーム送信を無効にしたい

4

2 に答える 2

0

エンタープレスを無効にすることでこれを解決しました

$('.descriptionText').bind('keypress', function (e){
        if(e.keyCode == 13){
            return false;
        }
        return true;
    });
于 2012-07-12T12:11:02.883 に答える
0

簡単な解決策は、 onsubmit="return false"at form タグを使用することです。追加の jQuery は必要ありません。

<form action="" data-ajax="false" method= "post" class="checkin-form" id="form1" onsubmit="return false">

ただし、この方法を使用するときは注意してください。次のようにフォームを手動で送信する必要があります。

<input type="button" value="manual submit" onclick="document.getElementById('form1').submit()" />

コードについては、e.keycode の代わりに e.which を使用することをお勧めします。

キーボードのキー入力は event.which を監視することをお勧めします。

于 2016-12-19T14:13:06.227 に答える