我是Javascript的新手。 以下代码中的错误是页面加载后立即显示警报消息。请帮我克服这个错误。当我点击提交按钮时,不显示警报,而是打开下一个链接。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Delete Book</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/default.css" />
</head>
<body id="index_page">
<div id="wrapper">
<div id="header">
<h1 align="left">Library</h1>
</div>
<ul id="navigation">
<li id="index"><a href="http://localhost/UID/FAQ.php">FAQ</a></li>
</ul>
<div id="content">
<div id="main_content">
<h2>Delete book</h2>
<h4>Enter details of the book</h4>
<FORM action="del_book_action.php" method="post" >
<TABLE WIDTH="70%" >
<TR>
<TH width="60%">Enter book ID:</TH>
<TD width="50%"><INPUT TYPE="text" name="id" id="book_id"></TD>
</tr>
<TR>
<TH></TH>
<TD width="50%"><INPUT TYPE="submit" Value="Submit" onclick="validate_f()"></TD>
</tr>
</TABLE>
</FORM>
</div>
<p id="footer"><a href="http://localhost/UID/UID.php">@AntonyAjay,2012</a></p>
</div>
<script language="javascript">
window.onload=function validate_f()
{
var y=document.getElementById("book_id").value;
if(y==""||isNaN(x))
{
alert("Book Id should be numeric");
}
}
</script>
</body>
</html>
答案 0 :(得分:2)
您正在页面加载上运行该功能。改变这个:
window.onload=function validate_f()
为:
function validate_f()
答案 1 :(得分:0)
查看将isNaN(x)
更改为isNaN(y)
是否修复了问题。
答案 2 :(得分:0)
在加载时删除窗口代码的意图是在提交时验证。发生的事情是在页面加载时调用该函数
答案 3 :(得分:0)
这是因为你正在调用onclick函数。进行两处更改。不要在加载时使用该功能。使用下面的html更改和脚本
<INPUT TYPE="submit" Value="Submit" onclick="return validate_f()">
function validate_f()
{
var y=document.getElementById("book_id").value;
if(y==""||isNaN(x))
{
alert("Book Id should be numeric");
return false;
}
}
答案 4 :(得分:0)
您将对函数的引用传递给window.onload而不是实际的调用。
<script>
window.onload = function(){
alert('test');
}
</script>