2011-07-15 46 views
1

我有第三方系統,在那裏我可以添加文章(與(原始)html)。一個頁面包含一個搜索表單,它自己發佈一篇文章。加載後(後)後,它會添加一個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 
} 

...但我的腳本加載之前動作被觸發的提交,否則將覆蓋我overridding方法。

我希望這是有道理的。

回答

3

你的jQuery接近。你只需要在基於id的選擇器之前使用#,就像在CSS中一樣。

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

並不形式需要用'ID = 「myForm的」'這個解決方案?你也可以演示這個,因爲我無法得到它的工作。 – andyb

+0

我沒有ID,但是...... dooh,當然我需要選擇正確的表單。感謝指針! – sunlock

+0

@andyb我做了一個有教養的猜測,他的表單有一個id,因爲他指的是document.myform。我錯過了他所做的getElementByName調用。 –

0

您是否在正確的位置重寫了函數?以下內容適用於我並停止提交。

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

redir = function(){} 

redir(); 

Demo

+0

我只能在腳本/表單的上面或下面添加一篇文章,所以這對我不起作用...... – sunlock

+0

實際上,甚至在'function redir()'停止提交之前放置'redir = function(){}'。 – andyb

相關問題