【问题标题】:Change background color of input text field using JavaScript使用 JavaScript 更改输入文本字段的背景颜色
【发布时间】: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


【解决方案1】:

您正在获取文本输入的值。您需要参考控件本身:

function validateForm()
{
    var ctrl = document.forms["form1"]["username"];
    var x=ctrl.value;
    if (x==null || x=="") {
       ctrl.style.backgroundColor = color;
    }
}

【讨论】:

  • 我是否将它添加到这一行? ////////改变背景颜色///////
  • document.forms["form1"]["username"].style.backgroundColor = color。问:“如何改变背景颜色”。不是完整的背景。
  • 是的,如果你想要它,你可以在那里或你喜欢的任何地方添加它。
  • 你会推荐使用 jacascript 还是我也应该在我的进程 php 中验证它?如何突出显示用户使用 php 提交的空文件?
  • 在客户端,您需要验证以防止向服务器发出额外请求并立即向用户显示错误,但如果您有客户端验证,则不是删除服务器端验证 (php) 的理由。所以,答案是:你需要验证,客户端和服务器。
猜你喜欢
  • 1970-01-01
  • 2014-07-17
  • 1970-01-01
  • 2011-11-05
  • 2018-03-24
  • 2016-07-23
  • 2020-09-09
  • 2013-05-13
相关资源
最近更新 更多