Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发布前,使用Javascript更改文本框背面颜色(如果错误)_Java_Javascript_Css_Jsp_Struts - Fatal编程技术网

发布前,使用Javascript更改文本框背面颜色(如果错误)

发布前,使用Javascript更改文本框背面颜色(如果错误),java,javascript,css,jsp,struts,Java,Javascript,Css,Jsp,Struts,我想在发布之前用javascript进行一些验证,所以基本上我想: 改变文本框值 使用附加到文本框的Onchange启动Javascript脚本。 脚本将检查冒号是否位于值中的正确位置。 如果不是这样,请将文本框背面颜色更改为红色。 所有这些都是在struts表单和操作中进行二次验证之前完成的。 第一个问题是我似乎无法将textbox值传递给脚本,struts是否阻止了这一点? 第二个问题是错误时文本框的背景颜色发生变化 函数validateBox { 警惕这里; var p=textBox.v

我想在发布之前用javascript进行一些验证,所以基本上我想:

改变文本框值 使用附加到文本框的Onchange启动Javascript脚本。 脚本将检查冒号是否位于值中的正确位置。 如果不是这样,请将文本框背面颜色更改为红色。 所有这些都是在struts表单和操作中进行二次验证之前完成的。 第一个问题是我似乎无法将textbox值传递给脚本,struts是否阻止了这一点? 第二个问题是错误时文本框的背景颜色发生变化

函数validateBox { 警惕这里; var p=textBox.value; alertp; }
要解决您的问题,您需要修复代码中的一些错误。我将向您展示如何通过数字实现您所写的内容

要更改textbox值,需要传递textbox元素本身,而不是值。 你已经用过了 根据文本框值在脚本中执行一些检查不是一个函数 为此,您应该使用文本框的背景色CSS属性 假设第二次验证在服务器上,检查是通过javascript在客户机上完成的 比如说

<html:text property="floor" styleClass="input" size="30" tabindex="12" onchange="validateBox(this)"/>
<script type="text/javascript">
  var textBoxBackgroundColor;
  function validateBox(textBox) {
    var p = textBox.value;

    if (textBoxBackgroundColor == null)
      textBoxBackgroundColor = textBox.style.backgroundColor;
    //validate
    if (p < 0)
     textBox.style.backgroundColor = '#000000';
    else
      textBox.style.backgroundColor = textBoxBackgroundColor;
  }
</script>

将检查文本框底部是否为正。

你说冒号在值中的正确位置是什么意思?这是我要在文本框上执行的验证。测试是在时间值上进行的,如果冒号不在正确位置,我希望它提醒用户更改它。好的,那么你尝试了什么?我已经修改了问题