我是新来的(以及一般的Web开发),我一直在努力理解为什么我的函数没有在指定的事件上执行。
我发现了这篇文章,它看起来与我想要的完全一样,但即使这样也行不通:
html <input type="text" /> onchange event not working
任何帮助将不胜感激。我的确切代码如下。我有一些文本输入字段(实际上是搜索框),最后我想让它在用户在文本字段中输入数据时选中一个复选框,但它似乎甚至没有调用该函数。
我在阅读上述帖子时尝试了一些变体。以下是我尝试过的一些输入字段属性:
<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已启用并在页面上的其他地方工作就好了! 脚本位于正文中,位于表单下方。
多个浏览器中的(缺乏)行为是相同的。 感谢您提供任何帮助。 射线
答案 0 :(得分:1)
对于javascript,function
关键字为小写。
Function SetCheckBox(id)
需要:
function SetCheckBox(id)
另外,你没有传递对象来获取id,所以......
function SetCheckBox(id) {
var ele = document.getElemenyById(id);
alert (ele.value);
document.write('test');
}
答案 1 :(得分:1)
除了已经提到的功能
中的大写字母F之外的几个问题所以代码应该是EITHER
function SetCheckBox(id) {
var val = document.getElementById(id).value
alert (val);
document.getElementById('someContainer').innerHTML=val;
}
OR
function SetCheckBox(fld) {
var val = fld.value
alert (val);
document.getElementById('someContainer').innerHTML=val;
}
根据您的说明,我猜你想要这样做:DEMO
<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();
}
如果该字段在(重新)加载时间不为空,将检查该框
答案 2 :(得分:0)
在javascript函数中,关键字是用小写字母写的,在这里你用大写字母写了F.
答案 3 :(得分:0)
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>