[OK]を、私たちはあなたの実際の質問に入る前にカバーするためにいくつかのことを持っている
javascript:
疑似プロトコルは、href
アンカー要素の属性でのみ有効です
this
のイベント属性(onclick
など)内で使用する場合、常に要素自体を参照します。したがって、<input type="submit" onclick="updateAffiliateCampaigns(this)"
のようにサブミットボタンに入れた場合、this
はフォームを参照しませんが、送信ボタン自体
- すべてのフォーム要素のDOMノードには、フォームノードDOMを参照する
form
プロパティがあるので問題ありません。
- 送信ボタンを使用すると、この例では、我々は「は今イベント属性
にfalse
を返すことによって達成されるデフォルトのアクションを、キャンセルするJavaScriptを使用しない限り、任意のJavaScriptの実行に関係なく、フォームを送信しようとしますそれをカバーしています...
DOM form
オブジェクトにはelements
と呼ばれるプロパティがあり、それ自体がフォーム要素の名前を表すプロパティを持っています。
だから、これで私たちの例フォーム
<form>
<input type="checkbox" name="campaign" value="1" />
<input type="checkbox" name="campaign" value="2" />
<input type="checkbox" name="campaign" value="3" />
<input type="submit" value="go" onclick="return updateAffiliateCampaigns(this.form);" />
</form>
としてあなたはその後、今、あなたはこのようなものを知ることが良好であることを私はあなたを伝える部分であるが、そう
function updateAffiliateCampaigns(oForm)
{
console.log();
var campaign = oForm.elements.campaign;
var checked = [];
for (var i = 0, l = campaign.length; i < l; i++)
{
if (campaign[i].checked)
{
checked.push(campaign[i].value)
}
}
// The variable "checked" now contains the values of
// all checked items
return false;
}
のようなあなたの関数を書くかもしれませんハード・ウェイもやっているよ。 jQueryやYUIのようなJavaScriptライブラリは、このような作業をずっと簡単にしました。