1

私は JavaScript の初心者です。ボタン付きの HTML ファイルがあります。ボタンがクリックされたときに次の JS を呼び出す必要があります<input type="submit" value="Get Push Token" />

コードのサンプルを提供してください。

PushToken.getToken(     
                     ["getToken"] ,           
                     function(token) {
                              global.token = token; 
                     },
                     function(error) {
                              console.log("Error : \r\n"+error);      
                     }
          );

 <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name = "format-detection" content = "telephone=no"/>
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width;" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <title>Hello Cordova</title>
    </head>
    <body>
        <div class="app">
            <h1>Apache Cordova™&lt;/h1>
            <div id="deviceready">
                <p class="status pending blink">Connecting to Device</p>
                <p class="status complete blink hide">Device is Ready</p>
                <p>Click here to get the Token<input type="submit" value="Get Push Token" />
            </div>
        </div>
        <script type="text/javascript" src="cordova-2.0.0.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
        <script type="text/javascript" src="js/PushToken.js"></script>
        <script type="text/javascript">
            app.initialize();
        </script>
    </body>
</html>
4

3 に答える 3

3

jQueryを使わずに

単純なコンポーネントまたはアプリケーションでは、jQuery ライブラリ全体を要求したくないため、最も簡単な方法は次のようになります。

HTML:

<input type="submit" value="Get Push Token" id="getPushToken" />

JavaScript:

document.getElementById('getPushToken').onclick=function(){
      PushToken.getToken(     
                 ["getToken"] ,           
                 function(token) {
                          global.token = token; 
                 },
                 function(error) {
                          console.log("Error : \r\n"+error);      
                 }
      );
}

jQuery の使用

複雑なアプリケーションを構築している場合、別の目的で jQuery が必要になる可能性が高くなります。その場合は、次のようにすることもできます。

HTML:

<input type="submit" value="Get Push Token" id="getPushToken" />

JavaScript:

$('#getPushToken').click(function(){
      PushToken.getToken(     
                 ["getToken"] ,           
                 function(token) {
                          global.token = token; 
                 },
                 function(error) {
                          console.log("Error : \r\n"+error);      
                 }
      );
});

何が起こっているのかを理解する

どちらの場合も、実行したいコードを関数でラップし、そのボタンのクリック イベントのハンドラとして設定することがポイントです。次に、ボタンによって関数が呼び出されます。

正しい HTML の使用

ボタンがフォーム内にない場合は、おそらく次を使用する必要があります。

<button id="getPushToken">Get Push Token</button>

代わりに html の場合、JavaScript はまったく同じになります。

于 2012-08-24T13:51:56.827 に答える
1

HTML:

<input type="submit" value="Get Push Token" id="getPushToken" />

JavaScript:

document.getElementById('getPushToken').onclick=function(){
      PushToken.getToken(     
                 ["getToken"] ,           
                 function(token) {
                          global.token = token; 
                 },
                 function(error) {
                          console.log("Error : \r\n"+error);      
                 }
      );
}

とにかく、 で入力type="submit"がありますが、フォームがありません。これは少しナンセンスです。

ボタンだけが必要な場合は、 を使用しますtype="button"。フォームを送信する場合は、その入力を含むフォームを作成します。idたとえば、myform. それで、

document.getElementById('myform').onsubmit=function(){
      PushToken.getToken(     
                 ["getToken"] ,           
                 function(token) {
                          global.token = token; 
                 },
                 function(error) {
                          console.log("Error : \r\n"+error);      
                 }
      );
}
...
于 2012-08-24T13:48:07.240 に答える
0

イベント処理関数内にコードを配置しonclick、ボタンの でその関数を呼び出します。

HTML:

/* you probably want button, not submit, and it should have an ID */
<input type="button" id="someID" value="Get Push Token" />

JS:

document.getElementById('someID').onclick = function () {
    // whatever you want to do here
};

イベント ハンドラをバインドする方法は他にもありますが、これがベスト プラクティスと見なされていることに注意してください (javascript と HTML を分離しておく)

関連する質問: JavaScript イベント処理のベスト プラクティスは?

于 2012-08-24T13:47:51.093 に答える