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