2010-04-20 52 views
0

我是一個相當新的jQuery,我在嘗試創建表單時遇到問題。我使用驗證插件來驗證電子郵件(一個表單的字段)。 當我點擊Submit按鈕時,我想調用我自己的函數,因爲我想將數據保存在XML文件中。無法在提交後使用jQuery中的驗證插件清除表單

這是我的按鈕:(我的理解,插件使用「提交」爲理解的按鈕)

<input type="submit" name="submit" class="submit" id="submit_btn" value="Send"/> 

,這裏是用於驗證的腳本:

<script type="text/javascript"> 
    $(document).ready(function() { 

     //this is my form 
$("#contactForm").validate(); 

/*save the valid data in the xml*/ 
$(".submit").click(function() { 
var email = $("input#email").val(); 
var subject = $("input#subject").val(); 
var message = $("textarea#message").val(); 

if (email == "" || !$("#contactForm").valid()) { 
    return false; 
    }  

var dataString = 'email='+ email + '&subject=' + subject + '&message=' + message; 
//alert("DATA: " +dataString); 

    $.ajax({ 
    type: "POST", 
    url: "SaveData.jsp", 
    data: dataString, 
    success: function(data){} 
    }); 

    return false; 
}); 
}); 
</script> 

一般來說,工作正常,但我有兩個基本問題。 當我點擊開始時所有表單都爲空的按鈕時,我不會收到所需字段的消息。另外,當數據有效並且我正在進行提交時,表單在提交後不會變得清晰。

如果我刪除了這個腳本代碼,這些操作正常,但我無法保存數據!

有誰知道什麼是錯的?

非常感謝!


我終於找到了一些東西。 我改了行:所以現在

submitHandler: function() { ....} 

當我按一下按鈕,我得到了必填字段正確的訊息:

$(".submit").click(function() {....} 

與這一個。我唯一沒有找到的是如何在提交後清除表單。 我知道如何在其他函數中手動執行此操作,但我看到插件也會執行此操作。所以我在想,使用Plugin所具有的可能更好。

那麼有人知道它錯了嗎?

感謝

+0

你需要編輯你的titl即它表明你沒有問題:) – Chris 2010-04-20 14:23:16

回答

1

首先,存儲參考您的驗證,像這樣:

var validator = $("#contactForm").validate(); 

在你$.ajaxsuccess處理程序,如果你想,或其他地方,你可以調用這個:

validator.resetForm(); 

You can read the docs for .resetForm() here

+0

好吧,它的工作原理就是這樣! 非常感謝 – novellino 2010-04-21 11:18:06

相關問題