2010-10-19 52 views
1

我需要製作一個Rails表單,在用戶輸入字段時對其進行實時響應。如何向用戶提供關於Rails表單的現場反饋

具體來說,用戶需要輸入四個十進制字段來表示我們公司運行的一些測試數據。問題在於測試人員經常輸入錯誤(忽略一位數字,或者命中'4'而不是'1'等)。

這很容易檢查,因爲在現實生活中,輸入的變化不應超過5個。我只想發送實時消息,因爲他們輸入的內容如下:「請仔細檢查是否有錯誤在你的輸入中「,如果這些字段根據特定條件而變化。

我看了很多現場驗證教程,包括Advanced Rails Recipes中的一個,但a)我不需要服務器請求,並且b)這在技術上不是驗證,因爲我只是想警告輸入的用戶,並不妨礙他們做出來。

回答

2

您可以通過將onchange附加到您希望在用戶填寫表單時警告用戶的輸入字段來執行此操作。這樣,當他們移動到表單中的下一個字段時,您的事件處理程序被調用,檢查他們剛剛輸入信息的表單字段的值,並決定是否警告用戶警告消息。你根本不必打到服務器。

使用jQuery的例子:

$('#your_form_field').change(function() { 
    var isValid = false; // Validate the input's value based on some criteria 
    if (!isValid) { 
    alert("Please check your work."); 
    } 
}); 
+0

JavaScript是這裏的答案。 – Nitrodist 2010-10-19 05:16:47

+0

感謝您的幫助。 – Bryan 2010-10-20 12:46:09

+0

我應該提到,我完全不熟悉JavaScript(一週),所以我很難談論它。 – Bryan 2010-10-20 12:46:57

0

AJAX with RJS RailsCast可以提供幫助。您可以編寫從服務器返回一次的RJS,然後在客戶端上的事件上執行N次。

+0

感謝您的鏈接 – Bryan 2010-10-20 12:51:07

相關問題