2天前,以netbeans和wamp服務器啓動後的第一個問題。只有一些桌面vb背景,所以我的行話可能會關閉。在vb中,我想把焦點放在控件上。php,將頁面滾動到指定的html控件的表格
我有很長的一段時間,如很多滾動,HTML中的網頁形式,顯示我想要的方式。大約有300個控件,幾乎所有的複選框。
當在窗體底部單擊提交按鈕時,我想查找任何不完整的數據,將頁面滾動到該控件並給用戶一條消息,以便我不插入未完成的記錄。
我該怎麼做?
2天前,以netbeans和wamp服務器啓動後的第一個問題。只有一些桌面vb背景,所以我的行話可能會關閉。在vb中,我想把焦點放在控件上。php,將頁面滾動到指定的html控件的表格
我有很長的一段時間,如很多滾動,HTML中的網頁形式,顯示我想要的方式。大約有300個控件,幾乎所有的複選框。
當在窗體底部單擊提交按鈕時,我想查找任何不完整的數據,將頁面滾動到該控件並給用戶一條消息,以便我不插入未完成的記錄。
我該怎麼做?
我認爲你需要使用javascript驗證數據並使用函數進行滾動。檢查:
在表格中,「必要」的屬性添加到每個輸入標籤。 EX:
<input type="text" required>
當表單提交,與「必要」屬性的第一輸入標籤將被滾動到,並且用戶將被通知。
你在找什麼叫做驗證。您應該使用PHP驗證服務器上的數據,以確保數據符合您定義的條件(因爲數據可能來自操縱表單並且用戶可以停用JavaScript)。您還應該查看轉義數據,例如mysqli_real_escape_string
以防止SQL注入(惡意用戶在表單中輸入SQL語句以更改/暴露數據庫中的數據的攻擊)。你應該清理你的數據。
但是,這是所有的服務器端。你也希望有一個良好的用戶體驗,甚至不發送數據到服務器,除非是有效的。這是在客戶端使用javascript完成的。好處是:沒有頁面加載的即時反饋。但它與安全性無關,因爲它很容易操縱或關閉javascript。
我會推薦使用jQuery,然後像jQuery Validation這樣的插件。對於滾動部分,您可以使用jQuery scrollto。你可以結合jQuery驗證的這兩個with a callback。例如(只是一個快速和骯髒的例子):
$(".form-selector").validate({
invalidHandler: function(event, validator) {
// 'this' refers to the form
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field. It has been highlighted'
: 'You missed ' + errors + ' fields. They have been highlighted';
$("div.error span").html(message);
$("div.error").show();
// Now scroll to the first error message
var first_element = validator.errorList[0].element;
$(window).scrollTo(first_element);
} else {
$("div.error").hide();
}
}
});
但最好的事情是開始與jQuery的教程,然後挖成。
它們的形式可能由PHP生成,驗證和滾動必須在Javascript中完成客戶端。您還應該運行驗證服務器端,因爲用戶控制着客戶端。 –
謝謝Dan,javascript是。我曾經以爲我只需要PHP和MySQL,當我開始,現在我添加JavaScript到HTML和CSS。 – tiredeyes