95359


Monacaでスマホアプリを作っています。  
初めにボタンをクリックしたら登録するコードを書き、そちらはうまく動きました。  
しかし、次に作ったコードが動きません。  
どうすればいいか教えてほしいです。  
よろしくお願いします。

[作りたい動き]  
1.絵文字を入力  
2.ボタンをクリック  
3.絵文字をunicodeにしてニフティクラウドに登録

[実際に起きてしまう動き]  
エラーが発生する。  
Uncaught TypeError: Cannot set properties of undefined (setting
'/classes/listEmoji')

[試してみたこと]  
・コードの再確認  
→おかしなところはなし。

・ニフティクラウドのテーブルの作り直し  
→同じエラーが発生。

・コードを最低限にしてみる。  
→同上

・もう一度ちゃんと動く方のコードを実行してみる。  
→エラーなく動いた。

【index.html】

[code]

    <!DOCTYPE HTML>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
      <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
      <script src="js/ncmb.min.js"></script>
      <script src="components/loader.js"></script>
      <script src="components/jquery/dist/jquery.min.js"></script>
      <script src="lib/onsenui/js/onsenui.min.js"></script>
      <script src="js/index.js"></script>
      
        
      <link rel="stylesheet" href="components/loader.css">
      <link rel="stylesheet" href="lib/onsenui/css/onsenui.css">
      <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css">
      <link rel="stylesheet" href="css/style.css">
    
      <script>
        window.fn = {};
        window.fn.open = function() {
          var menu = document.getElementById('menu');
          menu.open();
        };
        
        window.fn.load = function(page) {
          var content = document.getElementById('content');
          var menu = document.getElementById('menu');
          content
            .load(page)
            .then(menu.close.bind(menu));
        };
    
        if (ons.platform.isIPhoneX()) {
          document.documentElement.setAttribute('onsflag-iphonex-portrait', '');
          document.documentElement.setAttribute('onsflag-iphonex-landscape', '');
        }
    
      </script>
    </head>
    <body>
      <ons-splitter>
        <ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>
          <ons-page>
            <ons-list>
              <!-- <ons-list-item onclick="fn.load('home.html')" tappable> -->
              <ons-list-item onclick="onsenClick('home.html')" tappable>
                Home
              </ons-list-item>
             <!--  <ons-list-item onclick="fn.load('settings.html')" tappable> -->
             <ons-list-item onclick="onsenClick('settings.html')" tappable>
                勤務形態登録    
              </ons-list-item>
              <!-- <ons-list-item onclick="fn.load('about.html')" tappable> -->
              <ons-list-item onclick="onsenClick('about.html')" tappable>
                About
              </ons-list-item>
            </ons-list>
          </ons-page>
        </ons-splitter-side>
        <ons-splitter-content id="content" page="home.html"></ons-splitter-content>
      </ons-splitter>
      <template id="home.html">
        <ons-page>
          <ons-toolbar>
            <div class="left">
              <ons-toolbar-button onclick="fn.open()">
                <ons-icon icon="ion-ios-menu, material:md-menu"></ons-icon>
              </ons-toolbar-button>
            </div>
            <div class="center">
              Main
            </div>
          </ons-toolbar>    
          <p id="formEmoji">
            <p>【絵文字登録フォーム】</p>
            <label for="status0">仕事：</label><br>
            <input type="text" class="statusJob" id="status0"><br>
            <label for="status1">休み：</label><br>
            <input type="text" class="statusJob" id="status1"><br>
            <label for="status2">テレワーク：</label><br>
            <input type="text" class="statusJob" id="status2"><br>
            <label for="statusother">その他：</label>
            <input type="text" id="statusother"><br>
            <input type="text" class="statusJob" id="status3"><br>
            <p><button id="emojiTouroku" type="button" onclick="test()">登録</button></p>
          </p>
        </ons-page>
      </template>
      <template id="settings.html">
      <ons-page>
        <!-- ここは二ページ目 -->    
      </ons-page>
      </template>
    
      <template id="about.html">
      <ons-page>
        <ons-toolbar>
          <div class="left">
            <ons-toolbar-button onclick="fn.open()">
              <ons-icon icon="ion-ios-menu, material:md-menu"></ons-icon>
            </ons-toolbar-button>
          </div>
          <div class="center">
            About
          </div>
        </ons-toolbar>
      </ons-page>
      </template>
    </body>
    </html>
    
[/code]

【index.js】

[code]

    var hiduke = new Date();
    var next_hiduke = new Date();
    var txt_calendar = "";
    var y = new Date().getFullYear();
    var m = new Date().getMonth();
    var sts = true;
    var stsToday = false;
    var toggleButton = document.querySelector(".toggle-button-list");
    var week_text = ("日","月","火","水","木","金","土");
    var ncmb = new NCMB("api_key","cli_key");
            
    
    document.addEventListener("init", function(){
        /*
            ここにうまく動く登録コードなどあり
        */
    });
    
    function test() {
      var listEmoji = new ncmb.DataStore('listEmoji');
      console.log("Start!");
      
      console.log('データが正常に保存されました。');
    }
    
[/code]

【ニフティクラウドの画面】  
赤で囲まれているのが対象テーブルです。  
[![ここに説明](https://i.stack.imgur.com/DiUY4.png)](https://i.stack.imgur.com/DiUY4.png)


CC BY-SA 4.0
2023-05-25T14:41:22.243
94978
2023-06-24T13:47:24.837
46953
question
javascript html monaca
Monacaからニフティクラウドを操作できない。


理由はわかりませんが解決したので閉じます。  
色々ありがとうございました。


CC BY-SA 4.0
2023-06-24T13:47:24.837
95359
2023-06-24T13:47:24.837
46953
94978
answer