我想在发布前用 javascript 进行一些验证,所以基本上我想:
- 改变文本框的值
- 使用附加到文本框的 Onchange 来触发 Javascript 脚本。
- 脚本将检查冒号是否位于值中的正确位置。
- 如果不是这种情况,请将文本框的背景颜色更改为红色。
- 所有这些都在 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>
最佳答案
要解决您的问题,您需要修复代码中的一些错误。我将向您展示解决问题的方法,以实现您通过数字编写的内容。
- 要更改文本框值,您需要传递文本框元素本身而不是值。
- 你已经在用了
- 在脚本中对文本框值进行一些检查(值不是函数)
- 为此你应该使用文本框的背景色 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>
将检查文本框 floor 是否为正数。
关于java - 如果错误,请在发布前使用 Javascript 更改文本框的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749289/