2017-08-14 4 views
0

Googleアプリスクリプトを使用してウェブアプリケーションとして公開されているhtmlページがあります。ページには入力ボックス(テキストボックス)があり、ユーザーが検索する番号を入力します。ボックスの横にある「検索」ボタンをクリックすると、正常に動作します。キーボードで数字を入力して「Enter」キーを押すと、400エラーが表示されます(「このサーバーには要求されたURLが見つかりませんでした」)。Google App Script - 入力テキストボックスにキーを入力する - キャッチまたはディスエーブルする方法は?

入力エリアコード:

<input type="text" id="claimSearchBox" class="form-control" placeholder="Search" /> 
<input type="button" id="btnsearchClaims" class="btn-md btn-success" onclick="getOrders" value="Search for a Claim" /> 

のjavascript: (これはボタンのために働く)

document.getElementById("btnsearchClaims").addEventListener("click", getOrders); 

(これは、入力ボックスには使用できません)

document.getElementById("claimSearchBox").addEventListener("keyup", function(event) { 
event.preventDefault(); 
console.log('event: ' + event.keyCode); 
if (event.keyCode == 13) { 
    console.log('correct key'); 
    getOrders(); 
} 
}); 

Iまた、どのキーが押されているかを示していますが、Enterキーを押すとすぐに400エラーになります。

$(document).ready(function(){ 
    $("claimSearchBox").keyup(function(e){ 
    console.log(e.keycode); 
    console.log("worked"); 

    }); 
}); 

getOrders()にリダイレクトできない場合、「入力」を無効にする方法はありますか?

**入力ボックスのプログラミングがなく、ユーザーがenterを押すと、エラーになります(ページは空白です - コンソールにエラーが表示されます)。

***問題が見つかりました:この入力ボックスがフォーム上の唯一の入力ボックスであることが判明しました。ユーザーがenterキーを押すと、フォームが自動的に送信されます。私は問題/解決策をここに見つけました:Why does forms with single input field submit upon pressing enter key in input

答えて

0

これは、あなたのコードでさらに助けになるかもしれません。

私はあなたがjQueryを呼び出していることがわかります。

$(document).ready(function(){ 

表示しているページが正しくロードされていることを確認できますか?

あなたのhtmlにはこのようなものがあります。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

デバッガを使用して正常に入力すると、jQueryがロードされます。

jQueryを使用すると、イベント処理を簡素化できます。

$("#btnsearchClaims").on("click", getOrders); 

document.getElementById("btnsearchClaims").addEventListener("click", getOrders); 

を交換し

$("#claimSearchBox").on("keyup", function(event)... 
+0

おかげで

document.getElementById("claimSearchBox").addEventListener("keyup", function(event) { 

を交換してください@テリーウブjQueryを正しく読み込んでいます。この入力ボックスがフォーム上の唯一の入力ボックスであることが問題でした。ユーザーがenterキーを押すと、フォームが自動的に送信されます。私はここで問題/解決策を見つけました:[リンク](https:// stackoverflow。com/questions/1370021/why-does-forms-with-single-input-field-press-enter-enter-in-input) – NotInTheCity

関連する問題