2011-04-07 76 views
1

我想驗證表單文本框使用jquery驗證器,它工作正常的zend-framwork表單,但它不適用於任何HTML表單,這裏是代碼: 1)這是腳本在HTML頁面中:jquery驗證器HTML表格

<script> 
    $("#newsletter").validate({ 
     rules: { 
      newsletter_input:{ 
       email: true 
      } 
     } 
    }); 
</script> 

2),這是形式:

<form id="newsletter"> 
    <input type="text" name="newsletter-input" id="newsletter_input" class="clickable_search email " title="enter your e-mail" value="enter your email" /> 
    <input type="submit" value="" id="newsletter-submit" /> 
    </form> 

我失去了什麼???這裏

回答

0
<form id ="myform"> 
<input type="text" name="newsletter" id="newsletter" class="clickable_search required email " title="أدخل البريد الإلكتروني" value="أدخل البريد الإلكتروني" /> 
<input type="submit" value="" id="newsletter-submit" /> 
</form> 
<script> 
    $(document).ready(function(){ 
    $("#myform").validate({ 
    rules: { 
    field: { 
    required: true, 
    email: true 
    } 
    } 
    }); 
    }); 
    </script> 

這是唯一和我一起把一個ID的形式

0
<script> 
$("#newsletter-submit").click(function() { 
    $("#newsletter").validate({ 
     .. 
    }); 
}); 
</script> 
0

的驗證對象的規則屬性適用於該元素,而不是ID的name屬性,因此你的腳本代碼應該是:

<script> 
    $(document).ready(function() { 
     $("#newsletter").validate({ 
      rules: { 
       "newsletter-input":{ 
        email: true 
       } 
      } 
     }); 
    }); 
</script> 

注 - 不_。

另外值得注意的是,由於字段名稱中的短劃線,這不是合法的JavaScript標識符,因此您需要引用規則的字段名稱以使其工作。

就個人而言,我會避免在名稱和id屬性使用破折號,並使用駱駝情況下,而不是

+0

我已經改變了名稱,並避免任何破折號,仍然同樣的問題沒有驗證 – haider 2011-04-07 09:40:34

+0

方式只注意到你還缺少文件準備好事件掛鉤。 – 2011-04-07 09:54:20

1

你,包括頁面上的jQuery腳本?

嘗試簡單:

<script> 
$(document).ready(function() { 
    $("#newsletter").validate(); 
}); 
</script> 

並添加required爲一類報電子郵件輸入。

<form id="newsletter"> 
<input type="text" name="newsletter-input" id="newsletter_input" class="clickable_search email required" title="enter your e-mail" value="enter your email" /> 
<input type="submit" value="Submit" id="newsletter-submit" /> 
</form> 

這應該工作。