我有一個窗體id ='form1'以及另一個'form2'。在提交時,我想將兩個表單都作爲對象傳遞給可以驗證它們的單個驗證函數。我很困惑如何做到這一點。 如果我這樣做引用一個表格分配給一個變量在jQUERY
var form = $('#form1');
Validate(form);
我如何訪問變量形式的文本字段? 我不想編寫重複的驗證函數,因爲這兩種形式都與ALMOSt類似。
我有一個窗體id ='form1'以及另一個'form2'。在提交時,我想將兩個表單都作爲對象傳遞給可以驗證它們的單個驗證函數。我很困惑如何做到這一點。 如果我這樣做引用一個表格分配給一個變量在jQUERY
var form = $('#form1');
Validate(form);
我如何訪問變量形式的文本字段? 我不想編寫重複的驗證函數,因爲這兩種形式都與ALMOSt類似。
你也可以做如下...
function validate(formid){
var form = $("#"+formid);
var name = form.find("#name");
var number = form.find("#number");
alert(name.val());
alert(number.val());
}
validate("form1");
validate("form2");
似乎是迄今爲止我的目的中最好的一個......謝謝Nikhil ... –
嘗試.find。您的表單將作爲上下文,您可以將其重用爲不同的表單。
見下文:
var form = $('#form1');
function Validate(form){
var field1 = form.find(".field1");
}
隨着字段的名稱,你可以這樣做:
function Validate(form) {
form = form[0]; // raw element
if (check_syntax(form.name.value)) { doSomething(); }
if (check_syntax(form.email.value)) { doSomething(); }
if (check_syntax(form.anotherfield.value)) { doSomething(); }
}
如果在表單中的每個字段都有一個名字,你可以通過形式訪問它。 fieldName或form ['fieldName']。
問候。
假設這兩種形式都差不多:
ValidateForm($("#form1, #form2"));
function ValidateForm(forms){
forms.each(function(){
$(this).find('input[type=text]').each(function(){
//Do something to validate text field
})
$(this).find('input[type=checkbox]').each(function(){
//Do something to validate checkbox
})
})
}
謝謝。但是兩種表格都沒有在同一時間進行驗證。驗證是基於事件的。 –
您需要提供更多的像什麼是驗證和哪些信息字段等 –
您可以將表單ID傳遞給函數而不是整個表單。 – Sergio
@Arun:好吧,考慮一個帶有2個輸入數字的表單,並驗證用戶是否確實輸入了數字。我不認爲解決方案取決於驗證和表單內容。 –