我是这里的新手(以及一般的web开发),我一直在努力理解为什么我的函数没有在指定的事件上执行。
我找到了这个帖子,它似乎正是我想要的,但即使这样也不起作用:
html<输入类型=";文本"/>onchange事件不起作用
如有任何帮助,我们将不胜感激。我的确切代码如下。我有一些文本输入字段(实际上是搜索框),最终我想让它在用户向文本字段中输入数据时选中一个复选框,但它似乎甚至没有调用该函数。
在阅读上面提到的帖子时,我尝试了一些变体。以下是我尝试过的一些输入字段属性:
<input type="date" name="dt" size="10" value="2012-07-21" onChange="SetCheckBox('d')" />
<input type="search" size="10" name="sl" value="" onChange="SetCheckBox('n')" />
<input type="search" size="10" name="sf" value="" onkeypress="SetCheckBox('n')" />
<input type="search" size="20" name="st" value="" onkeypress="SetCheckBox(this);" />
这是我的javascript:
<script language="javascript" type="text/javascript">
Function SetCheckBox(id) {
alert (id.value);
document.write('test');
}
</script>
我试过不传递任何参数,只做一个document.write,但它似乎没有调用函数。是的,javascript已经启用,在页面的其他地方工作也很好!脚本在正文中,就在表单下方。
在多个浏览器中,(缺少)行为是相同的。感谢您提供的任何帮助。射线
对于javascript,function
关键字是小写的。
Function SetCheckBox(id)
需要:
function SetCheckBox(id)
此外,您并不是通过传递对象来获取id,所以…
function SetCheckBox(id) {
var ele = document.getElemenyById(id);
alert (ele.value);
document.write('test');
}
除了函数中已经提到的大写字母F之外的几个问题
- 函数传递一个名为id的变量,但需要一个字段
- 您传递的字符串不是ID并且没有引用字段
- 只有使用(this)的上一个版本才能工作,但没有值得提醒的值
- document.write将在页面加载后调用页面及其上的所有脚本(例如,不内联)
所以代码应该是
function SetCheckBox(id) {
var val = document.getElementById(id).value
alert (val);
document.getElementById('someContainer').innerHTML=val;
}
或
function SetCheckBox(fld) {
var val = fld.value
alert (val);
document.getElementById('someContainer').innerHTML=val;
}
根据你的描述,我猜你想这样做:演示
<input type="date" id="dt" name="dt" size="10" value="2012-07-21"
onkeypress="SetCheckBox(this)" />
<input type="checkbox" id="dtChk" />
使用此脚本
function SetCheckBox(fld) {
var checkbox = document.getElementById(fld.id+"Chk");
// check if something is entered, uncheck if not
checkbox.checked=fld.value.length>0;
}
甚至可能添加
window.onload=function() {
document.getElementById("dt").onkeypress();
}
如果字段在(重新)加载时不为空,则
在javascript函数中,关键字是用小写字母写的,这里用大写字母写F。
onkeypress和onchange事件应能在中工作
<body>
<script type="text/javascript">
function SetCheckBox() {
alert("1");
}
</script>
<input id = "test" value="" onkeypress="SetCheckBox();" />
<input id = "test1" value="" onchange="SetCheckBox()" />
</body>