我正在尝试在文本框的onkeypress事件中使用函数validateDataType()。它适用于按钮的onclick事件,但如果我在onkeypress上执行该功能,它似乎无法识别代码。通过使用onkeypress事件,我希望提前警告用户它不是问题所需的数据类型。 我感谢任何意见,感谢你提前帮助。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Challenge Questions</title>
<link href="style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">
/* <![CDATA[ */
/* }]> */
function validateDataType(answer) {
if(answer.match(/^\d+$/)){
alert("integer")}
else if(answer.match(/^\d+\.\d+$/)){
alert("float")}
else{
alert("string")
}}
</script>
</head>
<body>
<div id="content-pane">
<a class="back">go back</a>
<div id="headline">Challenge Questions</div>
<br />
<br />
<br />
<br />
<form action="FormProcessor.html">
<span id="subtitle">Please answer your security questions to reset your password. </span>
<br />
<br />
<input type="text" id="firstA" name='firstA' size="60" onkeypress="validateDataType(document.getElementById('firstA').value)" /></p>
<p><input type="button" onclick="validateDataType(document.getElementById('firstA').value)" value="Reset Password" style="width:100px" /></p>
</form>
</div>
</body>
</html>
答案 0 :(得分:1)
onkeypress
事件,因此您应该将事件更改为onkeyup
/ onchange
或延迟函数