1

カスタム検証スクリプト(javascript)を持つテキストフィールドを持つadobeフォームがあります。無効なテキストが入力された場合、フィールドをクリア/リセットしたいです。event.rc = false を使用すると、最初からフィールドが空だった場合に機能します。しかし、誰かが有効なテキストを入力してから戻ってエントリを変更し、無効なテキストを入力した場合、テキスト フィールドをクリアしたいと思います。event.value == "" と this.resetForm(["FieldName"]) を使用してみましたが、どちらもうまくいきません。(Adobe 9 Standard を使用しているため、ドキュメント レベルの関数などは使用できません。) コードは次のとおりです。どんな提案でも大歓迎です。(これは、SO に関する私の最初の投稿された質問です)。ありがとうございました。

// only run when field not blank
if (event.value != "")
{
// RegExp for validation #########
var re = /^(\d{3})(\d{2})(\d{4})$/
if(re.test(event.value) == false)
{
app.alert("Enter a 9-digit Social Security number with no spaces 
or special characters (e.g., 555555555). It will be converted to the format 
555-55-5555.")
this.resetForm(["SSN 1"]);    //also tried event.value == "" here
}
}
4

1 に答える 1

0

私は自分の質問に対する回答を見つけました (アドビ コミュニティ フォーラムで、ユーザーの回答が私に ah hah の瞬間を与えてくれました)、この同じタイプのものを探している他の人のためにここに投稿したいと思いました。(他の人がSOでそれを行うのを見たことがありますが、過去にそれらの自己返信の回答が本当に役に立ちました。)

答えは: で event.value = "" はない: event.value == ""

イベント/フィールド値を「」に等しくしようとするのではなく、「」の値が「イベント」/フィールド値に割り当てられているため、これが機能すると推測しています。

于 2013-08-26T19:02:56.923 に答える