2011-07-15 11 views
1

私はサードパーティシステムを使用しています。ここでは、(生の)htmlで記事を追加できます。 1ページには検索フォームが含まれています。読み込み後(投稿後)、javascriptを使用してjavascriptの送信フォームが追加されます。Javascript onloadでフォーム送信をキャッチするにはどうすればよいですか?

function redir() { 
    document.myform.submit(); 
} 
.... //some other stuff here 
redir(); 

私は設計の詳細には触れませよ( - 私が知っている、その安っぽいデザインを、それがこのように設計されている理由私は知っているが、それを変更することはできません!)。

この "onload"提出をキャッチするにはどこかありますか?

私はこれを試してみました:

また
var sform = document.getElementsByName('myform'); 
try { 
    sform.addEventListener("submit", alert('Gotcha!')); 
} catch(e) { 
    sform.attachEvent("submit", alert('Gotcha!')); //Internet Explorer 
} 

jQueryの:私はイベントをキャッチすることができないよう

$('myform').submit(function() { 
    alert('Gotcha!'); 
    return false; 
}); 

を。私は、メソッドオーバーライドすることができます。

redir = function(){ 
    //Empty - override 
} 

を...しかし、私のスクリプトがロードされる前にアクションがtriggedされる提出するか、それは私のオーバーライドするメソッドをオーバーライドします。

これは意味があると思います。

答えて

3

jQueryが終了しました。 CSSの場合と同じように、idベースセレクタの前に#を使用するだけです。

$('#myform').submit(function() { 
    alert('Gotcha!'); 
    return false; 
}); 
+0

フォームは、このソリューションのために '' idは= "あるmyForm" を必要としないのですか?また、私はそれを働かせることができないので、これをデモすることができます。 – andyb

+0

私はIDを持っていませんが、dooh、もちろん私は正しいフォームを選択する必要があります。ポインタありがとう! – sunlock

+0

@andyb私は、彼がdocument.myformとしてそれを参照していたので、彼のフォームがidを持っていたことを知りました。私は彼が作っていたgetElementByNameコールを見逃しました。 –

0

関数を正しい場所で上書きしましたか?以下は私のために働いて、提出を停止します。

function redir() { 
    document.myform.submit(); 
} 

redir = function(){} 

redir(); 

Demo

+0

これはスクリプト/フォームの上または下の記事を追加することができるので、これは私にとってはうまくいきません。 – sunlock

+0

実際、 'redir = function(){}'を 'function redir()'の前に置いても、 – andyb

関連する問題