ページの先頭行へ戻る
Interstage AR Processing Server V1.1 開発ガイド
FUJITSU Software

2.5.5.2 「OK」ボタンの動作

入力フォームからデータを取得
入力がない場合はalertを表示、入力されていた場合はAR実行サーバへPOSTするオブジェクトを生成しWebストレージに保存します。
Apl.onClickOK = function(){
  //入力データを取得します。
  var data = Apl.getCommentData();
  if(data){
    
    Apl.userData = data;
    //AR実行サーバに登録するクエリデータを作成します。
    Apl.postData = new Object();
    Apl.postData.query = "quads";
    Apl.postData.body = Apl.createCommentDataQuad(data);
    
    //Webストレージに保存します。
    localStorage.setItem("userData", JSON.stringify(Apl.userData));
    localStorage.setItem("postData", JSON.stringify(Apl.postData));
    
    if(Apl.operationMode == "serverMode"){ // サーバ通信モードの場合
      Apl.upload();
    } else { // スタンドアローンモードの場合
      alert("データを保存しました。サーバ通信モードでアップロードしてください。");
      if(location.href != "work.html") location.href = "work.html";
    }
  }
};
入力フォームからデータを取得
Apl.getCommentData = function(){

  var fName = document.comment_form.f_name.value;
  //名前が入力されていない場合はalert表示
  if(fName == null || fName == ""){
    alert("名前が入力されていません。入力してください。");
    return;
  }//名前が長い場合はalert表示
  if(fName.length>30){
    alert("名前が長すぎます。30文字以下にしてください。");
    return;
  }
  var fTemperature = document.comment_form.f_comment.value;
  //温度が入力されていない場合はalert表示
  if(fTemperature == null || fTemperature == ""){
    alert("温度が入力されていません。入力してください。");
    return;
  }
  //温度が長い場合はalert表示  0~999
  if(fTemperature.length > 3){
    alert("温度は0~999の範囲で入力してください。");
    return;
  }
  //ユーザデータオブジェクト作成
  var data = new Object();
 data.name = fName;
  data.temperature = parseInt(fTemperature);
  data.time = new Date().getTime();
  return data;
};
登録用のquadデータを作成
Apl.createCommentDataQuad = function(_data){
  // QUADを作成します。
  var quad = new Apl.Quad();

  // QUADのタイプネームを設定します。
  quad.qtypeName = "usr_sample";
 
  // QUADの値を作成します。
  // QValue ar_idを作成します。
  var arId = new Apl.QValue();
  arId.qtypeName = "usr_sample";
  arId.qattributeName = "ar_id";
  arId.stringValue = null;
  arId.longValue = 1;
  arId.floatValue = null;
  
  // QValue ar_nameを作成します。
  var arName = new Apl.QValue();
  arName.qtypeName = "usr_sample";
  arName.qattributeName = "ar_name";
  arName.stringValue = "点検結果";
  arName.longValue = null;
  arName.floatValue = null;
  
  // QValue ar_descriptionを作成します。
  var arDescription = new Apl.QValue();
  arDescription.qtypeName = "usr_sample";
  arDescription.qattributeName = "ar_description";
  arDescription.stringValue = "AR業務サンプルアプリケーション(ARマーカー)の点検結果です。";
  arDescription.longValue = null;
  arDescription.floatValue = null;
  
  // QValue ar_registrationtimeを作成します。
  var arRegistrationtime = new Apl.QValue();
  arRegistrationtime.qtypeName = "usr_sample";
  arRegistrationtime.qattributeName = "ar_registrationtime";
  arRegistrationtime.stringValue = null;
  arRegistrationtime.longValue = _data.time;
  arRegistrationtime.floatValue = null

  // QValue ar_modificationtimeを作成します。
  var arModificationtime = new Apl.QValue();
  arModificationtime.qtypeName = "usr_sample";
  arModificationtime.qattributeName = "ar_modificationtime";
  arModificationtime.stringValue = null;
  arModificationtime.longValue = _data.time;
  arModificationtime.floatValue = null;

  // QValue usr_nameを作成します。
  var usrName = new Apl.QValue();
  usrName.qtypeName = "usr_sample";
  usrName.qattributeName = "usr_name";
  usrName.stringValue = _data.name;
  usrName.longValue = null;
  usrName.floatValue = null;
  
  // QValue usr_temperatureを作成します。
  var usrTemperature = new Apl.QValue();
  usrTemperature.qtypeName = "usr_sample";
  usrTemperature.qattributeName = "usr_temperature";
  usrTemperature.stringValue = null;
  usrTemperature.longValue = _data.temperature; 
  usrTemperature.floatValue = null;
 
  // QValueをQUADに設定します。
  quad.qvalues = [arId, arName, arDescription, arRegistrationtime, arModificationtime, usrName,
  usrTemperature]

  //文字列に変換します。
  var rtndata = JSON.stringify(quad);
  return rtndata;
};