嗨,我試圖顯示一個警報或樣式能夠彈出框,提交按鈕時按空字段。下面的代碼停止工作,我添加alert("Empty Fields!!");
jQuery顯示窗體警報框
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
alert("Empty Fields!!");
});
嗨,我試圖顯示一個警報或樣式能夠彈出框,提交按鈕時按空字段。下面的代碼停止工作,我添加alert("Empty Fields!!");
jQuery顯示窗體警報框
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
alert("Empty Fields!!");
});
我認爲http://docs.jquery.com/Plugins/Validation/validate是你的代碼反駁的jQuery插件。
您不能在類聲明中使用警報。你將不得不重寫它是這樣的:
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
submitHandler: function(form) {
alert("Empty Fields!!");
}
});
或使用invalidHandler:功能(形式驗證),而不是submitHandler
'submitHandler'防止並在表單驗證成功時替換瀏覽器的默認'submit'處理程序,所以我猜錯誤信息應該在'invalidHandler'中。 –
'invalidHandler'工作 – acctman
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
error: function(){alert("Empty Fields!!")};
});
後只需更換該error
財產與一個合適的...
更新::
剛纔檢查JQ文檔...
替換error
處理程序與submitHandler
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
submitHandler: function(myForm){alert("Empty Fields!!")};
});
如果您進一步閱讀文檔,'submitHandler:'是一個回調,只有當表單爲_valid_時纔會觸發。所以這真的沒有任何意義的消息,_「空場」_。 – Sparky
朋友以備將來參考
驗證接受一個JSON字符串,它應該格式爲{'key1':'value1','key1':'value1'},所以鍵值和鍵值對之間必須有一個分號,用逗號分隔,所以請用它作爲鍵值對{'error':function(){alert('hello');}}
-1,'錯誤:'甚至不是插件的有效選項。 – Sparky
是的,但我只是給了他一些關於json字符串的清晰,並不是要說與錯誤完全一致,希望他可能不會在關鍵值對:)的地方使用alert,這將通過jquery的使用有所幫助。 期待您的一些建議,以滿足要求,根據您的聲譽! – user1954395
我的建議是看看其他答案是如何格式化的,並爭取準確性,解釋和清晰度。如果你只是想給OP一個小建議,那麼它應該被保留作爲評論而不是答案。 – Sparky
我是postin克這個,接受另一個答案後,爲未來的讀者的利益,因爲其他答案似乎每個答案都包含一些技術性錯誤和缺乏解釋。
你不能簡單地插入JavaScript .validate()
時,它僅接受在key:value
對形式的預定義的選項。請參閱所有可用選項的文檔:http://docs.jquery.com/Plugins/Validation/validate#toptions。
正如您所看到的,您需要在可用的callback
處理程序之一上將alert("Empty Fields!!");
分配到function
。由於消息是Empty Fields!!
,我將選擇invalidHandler
回調選項。 As per the docs,invalidHandler
是:「當提交無效的表單時,回調自定義代碼。」
相反,submitHandler:
是:「回調處理實際當表單是有效提交。」〜由於郵件中包含Empty Fields!!
,因此您不希望在有效表單上顯示該郵件。
將.validate()
放在document.ready
函數中以確保在插件初始化時完全構建HTML表單也是一個好主意。
工作演示:http://jsfiddle.net/QYCwH/
$(document).ready(function() {
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
invalidHandler: function(form, validator) {
alert("Empty Fields!!");
}
});
});
只是要注意:在這種情況下,有什麼關於分配.validate()
一個叫validator
變量是有用的。由於.validate()
只能調用一旦在DOM準備好初始化插件,你不需要再次參考它,所以真的沒有什麼好處把它分配給一個變量。
如果您需要觸發表單的驗證測試或需要表單當前狀態的布爾值,則只需使用the .valid()
method即可。
$("#reg_form").valid(); // triggers a validation check without having to submit
或
if ($("#reg_form").valid()) { ... // tests to see if the form is valid
請出示您的未來讀者的利益HTML。 – Sparky