Autify JavaScript Snippets
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto mode Back to homepage
Edit page

Input要素に値を設定する

<input> 要素に対して値を設定します。 何らかの理由により、Autify のテスト実行で値の入力ができないときにご利用ください。 <input type="date"> は、Autify が対応していない代表的な要素です。

以下の値を変更してください

  • selector: 対象要素を特定するセレクタの文字列
  • setValue: 設定したい値
var selector = "<TODO: REPLACE>";
var setValue = "<TODO: REPLACE>"; /* e.g) var setValue = "2006-01-02" */

/**
 * --------- ここから下は変える必要はありません ----------
 */

/**
 * 要素を探す
 */
var element = document.querySelector(selector);

/**
 * 要素がなければ処理を中断する
 */
if (!element) {
  throw new Error(
    "Error: cannot find the element with selector(" + selector + ")."
  );
}

/**
 * 値を入力する
 */
changeValue(element, setValue);

function changeValue(input, value) {
  var nativeInputValueSetter = Object.getOwnPropertyDescriptor(
    window.HTMLInputElement.prototype,
    "value"
  ).set;
  nativeInputValueSetter.call(input, value);

  var inputEvent;
  if (typeof Event === "function") {
    /**
     * モダンブラウザ用の処理
     */
    inputEvent = new Event("input", { bubbles: true });
  } else {
    /**
     * IE 11 対応
     */
    inputEvent = document.createEvent("Event");
    inputEvent.initEvent("input", true, true);
  }
  input.dispatchEvent(inputEvent);
}