【发布时间】:2011-11-28 05:31:42
【问题描述】:
如何使用 java 脚本更改输入文本字段的背景颜色?我想将它插入到这样的表单验证函数中:
function validateForm()
{
var x=document.forms["form1"]["username"].value;
if (x==null || x=="")
{
document.forms["form1"]["username"].style.backgroundColor = Black
}
}
另外,有没有办法在不创建两个页面的情况下使用 php 进行表单验证?你会推荐什么?使用 JavaScript 或 php 来验证表单的用户输入?我已经有一个 php 进程表单,用于检查用户是否提供了正确的详细信息,例如密码等。
感谢您的帮助
【问题讨论】:
-
验证应该总是在服务器端完成。如果您希望为用户提供更好的体验,但永远不要相信用户发送给您的数据,那么您也可以进行客户端验证。在浏览器中绕过客户端验证太容易了。
-
谢谢,如果我使用客户端处理用户的空字段,例如用 JS 突出显示空字段并使用服务器端处理通过检查。你会建议只使用服务器端 php 吗?
-
至于显示和验证使用一页很容易。将表单操作设置为指向自身(不要使用裸露的
$PHP_SELF!),然后添加一个隐藏的表单元素:<input type="hidden" name="validate" value="1">。那么它只是一个 if/else 语句if (isset($_POST['validate'])){/* Process form */} else { /* display form */} -
不,指出需要的空字段是对JS的有效使用,它增强了用户体验。如果 PHP 还指出空字段以防有人忽略 JS 警告并提交表单或没有打开 JS,那将是很好的。我试图说明的一点是,在使用服务器端验证数据之前,它可以保护自己免受 SQL 注入、XSS 等攻击。人们通常只是假设他们的 JS 验证可以保护他们免受攻击,但事实并非如此。
标签: php javascript css forms validation