1

我想在发布之前在 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>
4

1 回答 1

0

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

  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>

将检查文本框地板是否为正。

于 2013-02-07T15:14:41.650 回答