在输入表单标记中使用onclick属性的JavaScript未捕获引用错误
JavaScript函数在输入表单标记中使用onclick属性的JavaScript未捕获引用错误,javascript,html,forms,html-table,runtime-error,Javascript,Html,Forms,Html Table,Runtime Error,JavaScript函数 function submitToServer(formObject) { if(validateUserName(formObject["userName"]) && validatePassword(formObject["password"])) { formObject.submit(); } } HTML表单字段 <form method
function submitToServer(formObject)
{
if(validateUserName(formObject["userName"]) && validatePassword(formObject["password"]))
{
formObject.submit();
}
}
HTML表单字段
<form method="POST" action="SignIntoPortal">
<table>
<tr>
<td> User Name : </td>
<td>
<input type="text" id="userName" name="userName" onblur="validateUserName(this)">
<span id="userName_help" />
</td>
</tr>
<tr>
<td> Password : </td>
<td>
<input type="password" id="password" name="password" onblur="validatePassword(this)">
<span id="password_help" />
</td>
</tr>
<br>
</table>
<input type="button" name="submitButton" id="submitButton" value="Submit" onclick="submitToServer(this.form);">
</input>
</form>
用户名:
密码:
上面是我的代码,它验证数据并提交表单。但我一直在
未捕获引用错误:未定义submitToServer
错误,我无法解决。原因可能是什么?
但是,当我尝试使用不同的形式时,它使用不同的名称和字段
编辑
工作的代码与此代码之间的区别在于,前一个代码不使用表,而是工作平滑。范围是否随表而变化
你可以在这里找到代码
您可以获取.html文件
sign.html
<html>
<head>
<title>Sign into Shopping Zone</title>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-8">
<style>
body
{
font: 14px verdana;
}
h1
{
font: arial-black;
color: blue;
}
</style>
<script type="javascript" language="text/javascript">
function submitToServer(formObject)
{
if(validateUserName(formObject["userName"]) && validatePassword(formObject["password"]))
{
formObject.submit();
}
}
function validateUserName(inputField)
{
if(inputField.value.length == 0)
{
document.getElementById("userName_help").innerHTML = "Please enter value";
return false;
}
else
{
document.getElementById("userName_help").innerHTML = "";
return true;
}
}
function validatePassword(inputField)
{
if(inputField.value.length == 0)
{
document.getElementById("password_help").innerHTML = "Please enter value";
return false;
}
else
{
document.getElementById("password_help").innerHTML = "";
return true;
}
}
</script>
</head>
<body>
<h1><b><i>Shopping Zone</i></b></h1>
<p> Kindly Provide Login info
</p>
<!-- SignIn Form Data for Passing to SignIntoPortal-->
<form method="POST" action="SignIntoPortal">
<table>
<tr>
<td> User Name : </td> <td><input type="text" id="userName" name="userName" onblur="validateUserName(this)"><span id="userName_help" /></td>
</tr>
<tr>
<td> Password : </td> <td><input type="password" id="password" name="password" onblur="validatePassword(this)"><span id="password_help" /></td>
</tr>
<br>
</table>
<input type="button" name="submitButton" id="submitButton" value="Submit" onclick="submitToServer(this.form)"></input>
</form>
</body>
</html>
登录购物区
身体
{
字体:14px verdana;
}
h1
{
字体:arial黑色;
颜色:蓝色;
}
函数submitToServer(formObject)
{
if(validateUserName(formObject[“userName”])和&validatePassword(formObject[“password”]))
{
formObject.submit();
}
}
函数validateUserName(inputField)
{
if(inputField.value.length==0)
{
document.getElementById(“用户名\帮助”).innerHTML=“请输入值”;
返回false;
}
其他的
{
document.getElementById(“用户名\帮助”).innerHTML=“”;
返回true;
}
}
函数validatePassword(输入字段)
{
if(inputField.value.length==0)
{
document.getElementById(“密码帮助”).innerHTML=“请输入值”;
返回false;
}
其他的
{
document.getElementById(“密码帮助”).innerHTML=“”;
返回true;
}
}
购物区
请提供登录信息
用户名:
密码:
在脚本标题中,您的“类型”和“语言”属性混淆了。类型应为“text/javascript”,语言应为“javascript”,尽管不需要language属性
<script type="text/javascript" language="javascript">
@SrinivasB我正在HTML文件的head标记内的between标记中添加我的函数。我将代码放在body中,希望范围发生更改,但它不起作用。@SrinivasB这是一个打字错误。我的实际代码确实包含onclick属性。您的fiddle使用onload函数,但由于您的代码是从主体中调用的,因此需要将其包装在主体中。(见左边的第二个下拉列表)这是工作版本,我所更改的是下拉列表-一切正常。您需要将js代码放在主体中,它应该会运行。如果您仍然有问题,请在中共享您的所有页面代码StackOverflow@roryok是的,它现在在小提琴上工作。但在我的实际文件中,我已经将代码打包了,但它不起作用,我尝试了,但没有效果