私は、2つの異なる送信ボタンを持つフォーム送信中にクリックされたボタンのid属性を選ぶクロスブラウザ互換の方法を探しています。私はFireFoxでこれを次のように達成できましたが、explicitOriginalTargetをサポートしていないためIE 8またはChromeでは動作しません。chromeとIEの代わりにexplicitOriginalTarget.idに8
$("#postForm, #dialogPostForm, #pastPostForm").live('submit', function(event) {
event.preventDefault();
if (event.originalEvent.explicitOriginalTarget.id === 'pastPosts'){
...SNIP...
誰かがこれに対応するクロスブラウザを提案できますか?
私は答えをHow can I get the button that caused the submit from the form submit event?から試してみましたが、.live jqueryメソッドを使用し、イベントオブジェクトを使用して元の入力サブミットIDを選択したいと思います。
<form id="postForm" action="{% url account_tracker mashup.pk %}?fuzzy=true" method="post">
<div class="mygoal">Update Your Progress: {{ form.post }}
<input type="submit" value="+ 1" class="formbtn" style="font-size:18px;"/>
<input type="submit" value="This week" style="font-size:18px;" id="pastPosts" class="formbtn"/>
<span id="result" class="results"></span>
</div>
</form>
私は私自身の解決策を考え出したUPDATE:ここ
UPDATEは、私は、発信元からボタンIDを提出取得しようとしています私のフォームです。フォームに「名前」属性を追加するonclick属性を追加します。次に、フォーム処理で、フォーム名が「過去」であるかどうかを確認し、何らかの処理を行い、フォームが処理を終了した後に属性を削除します。これは私が知る限りすべてのブラウザで動作します。考える
<input type="submit" value="This week" style="font-size:18px;" id="pastPosts" class="formbtn" onclick="$('#postForm').attr('name', 'past');" />
[送信ボタンはどれですか?](http://stackoverflow.com/questions/7442483/which-submit-button-was-pressed) –