java - 如果错误,请在发布前使用 Javascript 更改文本框的背景颜色

标签 java javascript css jsp struts

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

  1. 改变文本框的值
  2. 使用附加到文本框的 Onchange 来触发 Javascript 脚本。
  3. 脚本将检查冒号是否位于值中的正确位置。
  4. 如果不是这种情况,请将文本框的背景颜色更改为红色。
  5. 所有这些都在 struts 表单和操作的二次验证之前完成。

第一个问题是我似乎无法将文本框值传递给脚本,这是在 struts 下被阻止的吗? 第二个问题是错误时更改文本框的背景色。

<html:text property="date1_1" maxlength="8" value="<%=WeekOne.get(1)%>" size="15" onchange="validateBox(this.value)"/>
<script type="text/javascript">
        function validateBox(textBox)
        {
            alert("here");
            var p = textBox.value();
            alert(p);               
        }
</script>

最佳答案

要解决您的问题,您需要修复代码中的一些错误。我将向您展示解决问题的方法,以实现您通过数字编写的内容。

  1. 要更改文本框值,您需要传递文本框元素本身而不是值。
  2. 你已经在用了
  3. 在脚本中对文本框值进行一些检查(值不是函数)
  4. 为此你应该使用文本框的背景色 CSS 属性
  5. 假设第二次验证在服务器上进行,检查通过 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>

将检查文本框 floor 是否为正数。

关于java - 如果错误,请在发布前使用 Javascript 更改文本框的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749289/

相关文章:

javascript - ajax - 在 JAVA 中关闭浏览器时关闭 session

java - 在测试类中模拟私有(private)静态最终变量

javascript - jQuery .on() tr click 事件使用 .not() on tr 复选框点击?

javascript - 如何在每个具有新数据属性的元素之前插入元素

html - CSS布局问题

javascript - Google如何在iframe中创建移动友好的固定背景和视差内容?

javascript - jsoup html解析style=”display :none; dont show the link

java - 通过跳转主机远程调试eclipse

java - Vaadin 覆盖表内按钮的列排序

javascript - iCheck 检查复选框是否被选中