この例は、フォームの入力者が現在使用しているフィールドをハイライト表示する方法、フォームの入力者が入力する必要のあるフィールドをハイライト表示する方法およびメッセージボックスを使用してフォームの入力者に対するフィードバックを入力する方法を示しています。
この例では、必須フィールドの右側にアスタリスク(*)が表示されます。フィールドを選択すると、フィールドの境界線の色が青に変更されます。フォームの入力者が必須フィールドに入力せずに「データを確認」ボタンをクリックすると、メッセージが表示され、フィールドの色が赤に変更されます。フォームの入力者がすべての必須フィールドに入力し、「データを確認」ボタンをクリックすると、確認メッセージが表示されます。
選択したフィールドの青色の境界線を追加するためのスクリプティング
選択したフィールドの青色の境界線を追加するには、各テキストフィールドに次のスクリプトを追加します。
例えば、「名前」フィールドに enter イベントを追加します。
Name.border.edge.color.value = "0,0,255";
例えば、「名前」フィールドに exit イベントを追加します。
Name.border.edge.color.value = "255,255,255";
例えば、「名前」フィールドに mouseEnter イベントを追加します。
Name.border.edge.color.value = "0,0,255";
例えば、「名前」フィールドに mouseExit イベントを追加します。
Name.border.edge.color.value = "255,255,255";
「データを確認」ボタンのスクリプティング
「データを確認」ボタン用に作成された次のスクリプトは、一連のチェックを実行して必須フィールドにデータが入力されていることを確認します。この場合は、各フィールドを個別にチェックして、フィールドの値が null 以外または空の文字列以外であることを確認します。フィールドの値が null または空の文字列の場合は、フィールドへのデータの入力が必要であることを示す警告メッセージが表示され、入力可能な領域の背景色が赤に変更されます。
フィールドにデータが入力されていないかどうかを示すには、次の変数を使用します。
var iVar = 0;
if ((Name.rawValue == null) || (Name.rawValue == "")) {
xfa.host.messageBox("Please enter a value in the Name field.");
次のスクリプトでは、テキストフィールドの入力可能な領域の色を変更します。
xfa.resolveNode("Name.ui.#textEdit.border.edge").stroke = "solid";
xfa.resolveNode("Name.ui.#textEdit.border.fill.color").value = "255,100,50";
// Set the variable to indicate that this field does not contain data.
iVar = 1;
}
else {
// Reset the fillable area of the text field.
xfa.resolveNode("Name.ui.#textEdit.border.edge").stroke = "lowered";
xfa.resolveNode("Name.ui.#textEdit.border.fill.color").value = "255,255,255";
}
if ((Address.rawValue == null) || (Address.rawValue == "")) {
xfa.host.messageBox("Please enter a value in the Address field.");
次のスクリプトでは、テキストフィールドの入力可能な領域の色を変更します。
xfa.resolveNode("Address.ui.#textEdit.border.edge").stroke = "solid";
xfa.resolveNode("Address.ui.#textEdit.border.fill.color").value = "255,100,50";
次のスクリプトでは、フィールドにデータが入力されていないことを示す変数を設定します。
iVar = 1;
}
else {
次のスクリプトでは、テキストフィールドの入力可能な領域をリセットします。
xfa.resolveNode("Address.ui.#textEdit.border.edge").stroke = "lowered";
xfa.resolveNode("Address.ui.#textEdit.border.fill.color").value = "255,255,255";
}
if ((City.rawValue == null) || (City.rawValue == "")) {
xfa.host.messageBox("Please enter a value in the City field.");
次のスクリプトでは、テキストフィールドの入力可能な領域の色を変更します。
xfa.resolveNode("City.ui.#textEdit.border.edge").stroke = "solid";
xfa.resolveNode("City.ui.#textEdit.border.fill.color").value = "255,100,50";
次のスクリプトでは、フィールドにデータが入力されていないことを示す変数を設定します。
iVar = 1;
}
else {
次のスクリプトでは、テキストフィールドの入力可能な領域をリセットします。
xfa.resolveNode("City.ui.#textEdit.border.edge").stroke = "lowered";
xfa.resolveNode("City.ui.#textEdit.border.fill.color").value = "255,255,255";
}
if ((State.rawValue == null) || (State.rawValue == "")) {
xfa.host.messageBox("Please enter a value in the State field.");
次のスクリプトでは、テキストフィールドの入力可能な領域の色を変更します。
xfa.resolveNode("State.ui.#textEdit.border.edge").stroke = "solid";
xfa.resolveNode("State.ui.#textEdit.border.fill.color").value = "255,100,50";
次のスクリプトでは、フィールドにデータが入力されていないことを示す変数を設定します。
iVar = 1;
}
else {
次のスクリプトでは、テキストフィールドの入力可能な領域をリセットします。
xfa.resolveNode("State.ui.#textEdit.border.edge").stroke = "lowered";
xfa.resolveNode("State.ui.#textEdit.border.fill.color").value = "255,255,255";
}
if ((ZipCode.rawValue == null) || (ZipCode.rawValue == "")) {
xfa.host.messageBox("Please enter a value in the Zip Code field.");
次のスクリプトでは、テキストフィールドの入力可能な領域の色を変更します。
xfa.resolveNode("ZipCode.ui.#textEdit.border.edge").stroke = "solid";
xfa.resolveNode("ZipCode.ui.#textEdit.border.fill.color").value = "255,100,50";
次のスクリプトでは、フィールドにデータが入力されていないことを示す変数を設定します。
iVar = 1;
}
else {
次のスクリプトでは、テキストフィールドの入力可能な領域をリセットします。
xfa.resolveNode("ZipCode.ui.#textEdit.border.edge").stroke = "lowered";
xfa.resolveNode("ZipCode.ui.#textEdit.border.fill.color").value = "255,255,255";
}
if ((Country.rawValue == null) || (Country.rawValue == "")) {
xfa.host.messageBox("Please enter a value in the Country field.");
次のスクリプトでは、テキストフィールドの入力可能な領域の色を変更します。
xfa.resolveNode("Country.ui.#textEdit.border.edge").stroke = "solid";
xfa.resolveNode("Country.ui.#textEdit.border.fill.color").value = "255,100,50";
次のスクリプトでは、フィールドにデータが入力されていないことを示す変数を設定します。
iVar = 1;
}
else {
次のスクリプトでは、テキストフィールドの入力可能な領域をリセットします。
xfa.resolveNode("Country.ui.#textEdit.border.edge").stroke = "lowered";
xfa.resolveNode("Country.ui.#textEdit.border.fill.color").value = "255,255,255";
}
すべての必須フィールドにデータが入力されている場合は、iVar 変数が 0 に設定され、確認メッセージが表示されます。
if (iVar == 0) {
xfa.host.messageBox("Thank you for inputting your information.");
}