作为一年的恶作剧,我工作的公司的一位董事想要一份假奖金申请表。他发现了一些他认为是个好主意的东西,但我们把它压扁了,因为它是一个可执行文件。我打了一个HTML页面来做他想做的事,但我有一个问题 - 没有一个文本区域是可写的。这是代码(对隐私有一些改动):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<head><title>[Company Name] Annual Bonus Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript"><!--
function moveObj(obj){
var w = 600, h = 400;
newWidth = Math.floor(Math.random()*w);
newHeight = Math.floor(Math.random()*h);
obj.style.position="absolute";
obj.style.left=newWidth+"px";
obj.style.top=newHeight+"px";
}
function checkObj(event,obj){
var top = obj.style.top.split("px")[0];
var left = obj.style.left.split("px")[0];
if(top+5 > event.y || left+5 > event.x){moveObj(obj);}
}
window.setTimeout("checkObj(event,document.forms[0].elements[0]", 1);
document.onkeydown = function(){return false;}
//--></script>
</head>
<body>
<p>
<img src = "Company_logo_rgb_highres.jpg" alt = "[Company] Logo">
<h1>[Company Name] Annual Review Bonus Submission Form </h1></p><BR>
<form>
Name: <input type="text" size="25" name ="name" value="">
Supervising Director: <input type="text" size="25" name="Supervisor" value="">
Hours Billed: <input type="text" size="5" name="HRs_billed" value=""><br><br>
Your Top Three achievements this year:<BR><textarea name="Achievements" cols="75" rows="5"></textarea><BR>
Your Top Three areas of improvement this year:<br> <textarea name="Improvements" cols="75" rows="5"></textarea><BR>
Your Top Three mistakes this year, and resoltution plan:<br><textarea name="Blunders" cols="75" rows="10"></textarea><BR>
<p>
In a hundred words or less, why should we give YOU a bonus?: <br> <textarea name="Name" cols="50" rows="5"></textarea>
</form>
<onMouseMove="checkObj(event,document.forms[0].elements[0]);" onKeyPress="return false;">
<form action="" name="frm"><div>
<input type="button" value="Submit" onMouseOver="moveObj(this);">
<input type="button" value="Cancel" onClick=window.close();>
</div></form>
</body>
<footer>
<table border =0>
<TR bgcolor="#6D8877">
<TD>Redacted <br>
Redacted.</TD>
</footer>
</html>
基本上是疲惫不堪的旧插页,每当你试图点击提交按钮时按钮就会移动......但为了现实,我希望他们在点击提交之前填写表格...
如果有人能够看到(并指出)我的错误那就太好了......
答案 0 :(得分:0)
你的问题是:
document.onkeydown = function(){return false;}
它(我假设)无意中被执行,因为你的HTML评论在这里:
<script type="text/javascript"><!--
//--></script>
不会影响脚本标记的实际内容。
如果您想使用HTML注释来避免执行脚本,可以使用:
<!--<script type="text/javascript">
</script>//-->
我会使用javascript评论(可能不符合个人喜好):
/* to start a comment
*/ to end one
和
// to comment out a single line
示例:
<script type="text/javascript">
/*
alert('this will not appear, because it is commented code');
*/
</script>
<强>提示强>
正如提到的 Diodeo ,<onMouseMove>
不是有效的标签,不会有任何影响(除非你的文件以某种方式另外解析,预处理或你正在使用一些额外的JS库,实际上明确地处理这些标签。)
答案 1 :(得分:0)
你的问题在于这一行:document.onkeydown = function(){return false;}
只需删除该行 - 该按钮无论如何都不提交表单,因为您使用了type =“button”