我有以下代码,java脚本抛出错误"无法获取属性'值'未定义或空引用"。我究竟做错了什么 ?下面是我试图执行以验证一个输入字段的示例代码。
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta content="text/html;charset=iso-8859-2" http-equiv="content-type" />
<script type="text/javascript">
function validate_frm_new_user_request()
{
alert('test');
valid = true;
if ( document.frm_new_user_request.u_isid.value == '' )
{
alert ( "Please enter your valid ISID Information." );
document.frm_new_user_request.u_isid.focus();
valid = false;
}
return valid;
</script>
</head>
<body
<form method="post" action="" name='frm_new_user_request' id="frm_new_user_request" onsubmit="return validate_frm_new_user_request();">
<center>
<table>
<tbody>
<tr align="left">
<td><Label>ISID<em>*:</Label><input maxlength="15" id="u_userid" name="u_userid" size="20" type="text"/></td>
<td>
<tr>
<td align="center" colspan="4">
<input type="image" src="images/button/btn_create_request.gif" border="0" ALT="Create New Request">
</td>
</tr>
</table>
</form>
</body>
</html>
答案 0 :(得分:6)
问题在于你是如何试图获得价值的。像...这样的事情。
if ( document.frm_new_user_request.u_isid.value == '' )
不起作用。您需要找到想要获得第一个值的元素。它不像服务器端语言,您可以在其中键入对象的引用名称和获取或分配值的句点。
document.getElementById('[id goes here]').value;
会奏效。注意:JavaScript 区分大小写
我建议使用:
var variablename = document.getElementById('[id goes here]');
或
var variablename = document.getElementById('[id goes here]').value;
答案 1 :(得分:1)
您无法像访问过的那样访问元素(document.frm_new_user_request
)。您必须使用函数getElementById
:
document.getElementById("frm_new_user_request")
因此从输入中获取值可能如下所示:
var value = document.getElementById("frm_new_user_request").value
您也可以使用一些JavaScript框架,例如jQuery,它简化了DOM(文档对象模型)的操作,并隐藏了各种浏览器之间的差异。
使用jQuery从输入中获取值如下所示:
var value = $("#element).value
var value = $(".element).value
答案 2 :(得分:0)
你有很多HTML和java脚本错误包括:
标签,使用非UTF-8编码进行表单提交,不需要,......
您必须在页面中使用document.forms.FORMNAME
或document.forms[0]
作为首次显示的表单
校正:
function validate_frm_new_user_request()
{
alert('test');
var valid = true;
if ( document.forms.frm_new_user_request.u_userid.value == "" )
{
alert ( "Please enter your valid ISID Information." );
document.forms.frm_new_user_request.u_userid.focus();
valid = false;
console.log("FALSE::Empty Value ");
}
return valid;
}
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta content="text/html;charset=UTF-8" http-equiv="content-type" />
</head>
<body>
<form method="post" action="" name="frm_new_user_request" id="frm_new_user_request" onsubmit="return validate_frm_new_user_request();">
<center>
<table>
<tr align="left">
<td><Label>ISID<em>*:</Label><input maxlength="15" id="u_userid" name="u_userid" size="20" type="text"/></td>
</tr>
<tr>
<td align="center" colspan="4">
<input type="image" src="btn.png" border="0" ALT="Create New Request">
</td>
</tr>
</table>
</form>
</body>
</html>