我找不到解決方案,我需要覆蓋以前設置的提交事件處理程序。在我的例子中,我有一個iframe頁面,他們自己提交(可以有驗證錯誤,並返回false)。所以,我需要做的:覆蓋表單提交事件與jQuery(1.3.2)
$('<iframe></iframe>')
.load(function() {
content = $(this).contents()
form = content.find('form')
previous_form_submit = .... //This is my question
form.unbind("submit")
form.submit(function() {
var valid = previous_form_submit()
if (valid) {
$.post(form.attr('action'), form.serialize(), function(data) {
//do something
})
})
})
編輯:爲了更清晰的,問題是重寫事件,但沒有失去之前的處理與驗證。
EDIT2:我使用jQuery 1.3.2
我要去另一種解決方案,但我感到好奇,怎麼能做到這一點。
謝謝。
這些變量(「content」,「form」,「previous_form_submit」)都應該用'var'關鍵字聲明!就像現在一樣,它們對頁面來說是全球性的! – Pointy 2010-07-23 12:56:35
另外:你已經打電話給「解綁」了,所以你的問題真的是關於如何*保存*任何以前的提交處理程序? – Pointy 2010-07-23 12:57:30
是的,只是我的原始代碼的摘錄。是的,我的意思是:我需要重寫當前的提交事件處理程序,但我需要保存以前的處理程序,以進行驗證(在我的示例中是前一個處理程序)。 – Hugo 2010-07-23 13:02:11