1

フォームにイベント リスナーを追加して、フォームの送信を追跡するスクリプトがあります。問題は、ある顧客がリンクを介してフォームを送信することです

<a href="javascript:document.formname.submit();">Submit</a>

イベントリスナーを無視します。デモ用の JSFiddle を次に示します: http://jsfiddle.net/XhLkG/

ご覧のとおり、[送信] ボタンはアラートをトリガーしますが、[送信] リンクは単純にフォームを送信し、イベント リスナーをバイパスします。

イベントリスナーを引き続きトリガーする方法はありますか?

編集: スクリプトが埋め込まれた顧客のホームページにあるため、マークアップを変更することはできません。明確にしなかった場合は申し訳ありません。

4

3 に答える 3

2

これを使用できます:

var form = document.getElementsByClassName('form');
form[0].addEventListener("submit", function(e) {

    e.preventDefault();

    alert('event');

});
form[0].childNodes[3].addEventListener("click", function(e) {

    e.preventDefault();

    alert('event');

});
于 2013-05-27T08:46:40.363 に答える