0

私は JavaScript が初めてで、HTML と JavaScript でフォームを作成する作業を行っています。この作業では、前のフィールドに入力されたテキストに応じて、フィールドの文字列を制限しようとしました。

私が試しているのは、国「オーストラリア」が「国」テキストボックスに入力された場合、「郵便番号」テキストボックスが4つの数字のみに制限されていることです(オーストラリアの郵便番号標準)

私はこれまでにこれだけの機能を実行してきました:

document.getElementById('txtcountry').onblur = function postcode()
{
var country = document.getElementById('txtcountry').value;
if (country == "Australia" || category == "australia")
{
    document.getElementById('txtpostcode').maxLength = 4;
    }
    else
{
    document.getElementById('txtpostcode').maxLength = 9;
}
}

関数を使用する必要がある最初の HTML のセグメントは次のとおりです。

<b>Postcode:</b> <input type="text" id="txtpostcode" name="postcode">
<br>
<b>Country:</b> <input type="text" id="txtcountry" name="country">

私は以下を使用して関数を呼び出しています:

<form name="rego" action="submit.htm" onsubmit="return !!(validateText() & validateCheckBoxes(this) & validateRadioButton() & validateEmail() & populateInstitution() & postcode());" method="POST">

どんな助けでも本当に感謝します!

更新:機能していないようで、さらに助けが必要なため、助けを借りて関数を完成した関数に更新しました

4

2 に答える 2

0

私は

var country = document.getElementById('txtcountry');
if (country.value == "Australia" || category == "australia")
{
  country.setAttribute("maxlength","4");
  country.value = country.value.substr(0,4);
}
于 2013-04-05T09:20:59.550 に答える
0

プロパティを設定しようとしていますかmaxLength:

var pc = document.getElementById('txtpostcode');
pc.maxLength = 4;
pc.value = pc.value.substr(0,4); // remove any extra characters already entered

...そして、他の国のデフォルトelseを設定する条件を追加します。maxLength

次に、フィールドのイベントpostcode()から関数を呼び出します。blurtxtcountry

編集:あなたが示した関数には、テストcategoryの2番目の部分に未定義の変数があることに注意してください-する必要があります。そして、すでに述べたように、どこかから関数を呼び出す必要があります。ifcountry

于 2013-04-05T09:05:56.363 に答える