1

データベース検索を行うための単一の入力フィールドを持つ小さな jquerymobile ページを作成しています。入力は、最後にエンターを押すバーコードリーダーによって行われています。送信ボタンを非表示にして、Enterキーでフォームを送信したいと思います。

他のスレッドで読み取ったコードの断片を試してみましたが、役に立ちませんでした。JavaScriptに関しては、私は劣等生です。

<script type="text/javascript" language="JavaScript">
    $(document).ready(function() {
        $('#submit').hide();
    });
$('.noEnterSubmit').keypress(function(e){
    if ( e.which == 13 ) 
    $('form#search').submit();
    e.preventDefault();
    return false;
});
</script>

その上に、押されたときに入力フィールドにフォーカスするボタンがあります (iOS デバイスでは、強制的にフォーカスをオンロードできないため)

<form action="#CGI.SCRIPNAME#" method="post" name="search">
<label for="season_pass_id">Season Pass ID</label>
<input class="noEnterSubmit" type="password" name="season_pass_id">
<input id="submit" type="submit" name="submit" value="submit" >
<input type="button" name="mybutton" value="Scan New" OnClick="document.search.season_pass_id.focus();">
</form>

最終的には、入力フィールドと送信ボタンを非表示にして、[新規スキャン] ボタンのみを表示したいと考えています。

4

1 に答える 1

0

keypress コードをdocument.readyハンドラーに移動してみてください。イベントを添付するときに、dom 要素が読み込まれていないのではないかと思います。

$(document).ready(function() {
    $('#submit').hide();
    $('.noEnterSubmit').keypress(function(e){
       e.preventDefault(); 
       if ( e.which == 13 ) 
        $('form#search').submit();    
    });
});
于 2012-04-13T19:40:08.413 に答える