0
顯示無效的表單字段(上問題請遵循Placeholder Hidden)Webshims - 初始加載
我想我的形式加載時,以驗證現有的數據。我似乎無法讓這樣的事情發生
- 我在我的控制jQuery.each並調用焦點()和模糊(),有沒有比這更好的辦法?我試圖調用ctrl.checkValidity(),但它並不總是定義。當它是,它仍然沒有標記的控制。
- 我似乎也有一個時間問題,而焦點和模糊()火,UI不更新。就好像Webshim尚未完全加載,儘管這會引發$ .webshims.ready事件。
- 我也嘗試調用$('#form')。submit(),但是這並不像我預期的那樣觸發事件。我能做到的唯一方法就是包含一個輸入類型='submit'。我如何可以像點擊提交按鈕那樣務實地進行表單驗證呢?
這裏有一個jsFiddle演示該問題。當表單加載時,我想將無效的電子郵件標記爲這樣。如果你點擊添加按鈕,它會被標記,但最初加載時不會。爲什麼?
- 焦點和模糊的控制將導致其被標記。
但是,點擊添加也會(它運行與它被加載時運行相同的方法)。它爲什麼第二次運行,但最初加載時不運行?
updateValidation : function() { this.$el.find('[placeholder]').each(function (index, ctrl) { var $ctrl = $(ctrl); if($ctrl.val() !== "" && (ctrl.checkValidity && !ctrl.checkValidity())) { // alert('Do validity check!'); $ctrl.focus(); $ctrl.blur(); } }); }
我看到這個FF 17.0.5。 IE9中的問題更嚴重,有時會在字段顯示錯誤之前進行2次或3次點擊添加。但是,由於MIME類型不匹配,我收到了一些我喜歡的js文件的錯誤。
完美!第一個選項效果很好!非常簡潔的代碼 - 我喜歡它。雖然我得到你不建議第二選擇,這是否也是模仿輸入類型提交的技巧? –
我真的不明白,你想要什麼。本機驗證用戶界面僅在用戶提交或腳本類型=「提交」點擊時顯示。第二個選擇模擬:user-error僞,這意味着該字段無效+用戶觸及。 –