<input name="del" type="button" value=" 删 除 " border="0" class="s02" onClick="return delchked(this);">
改为这样看看呢?
改为这样看看呢?
解决方案 »
- 通过js如何实现像Web QQ 那样判断用户是否关闭浏览器退出
- if语句效率和语法问题的思考求助
- JS写的六子棋
- 今天面试一个前端开发的题,挂了,不明所以中...
- 关于两个模态窗口的刷新问题
- 怎么判断select控件里面没有数据或者text控件不存在?
- 求: 用JAVASCRIPT做的留言本,论坛等!
- 我在一个窗口里面弹出三个窗口,想实现关闭父窗口的同时关闭三个子窗口,不知道怎么实现?
- 在输入框内(聚焦时)怎么样调用 类似于调色板的 东西出来。 --好让用户选择输入。
- 请问这段JS哪错了
- 寻:JavaScript 的IDE类型的编辑器
- document.getElementById 为什么不支持id的数组啊
==》 for ( j = 0 ; j < document.forms[0].selectone.length ; j++ ) {下标显然会越界。有的时候错误不显示是IE的问题。document.forms[0].selectone真的多于一个吗?如果是动态生成的最好用getElementsByName函数来引用控件数组:function delchked ( chkdelform ) {
var j;
var truej = 0;
var tmpElm = document.getElementsByName("selectone");
for ( j = 0 ; j <tmpElm.length ; j++ ) {
if ( tmpElm[j].checked) {
truej++;
}
}
......
做个试验试试:
<form name="dataform" method="post">
<input type=button value=test onclick="alert(this.form.name)">
</form>
我用document.forms[0].selectone.length 和 document.forms[0].selectone[j].checked 的方法,在页面上其他的JS函数里运行的很好,所以可以断定也不是这个的问题!
<?php
//实例化一个类
require ( "class.php" );
$myuser = new useroption ( );
?><html>
<head>
<title>用户类------定义增、删、改、查用户的方法</title>
<meta http-equiv="Content-Language" content="zh-cn">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css.css">
<SCRIPT LANGUAGE="JavaScript">
<!--//当用户选择“全选按钮时,所有的复选框都被选上”
function checkselect ( ) {
var i; //全选
if ( document.forms[0].select[0].checked ) {
for ( i = 0 ; i <= document.forms[0].selectone.length ; i++ ) {
document.forms[0].selectone[i].checked = true;
}
} //取消
if ( document.forms[0].select[1].checked ) {
for ( i = 0 ; i <= document.forms[0].selectone.length ; i++ ) {
document.forms[0].selectone[i].checked = false;
}
} //反选
if ( document.forms[0].select[2].checked ) {
for ( i = 0 ; i <= document.forms[0].selectone.length ; i++ ) {
if ( document.forms[0].selectone[i].checked == true ) {
document.forms[0].selectone[i].checked = false;
} else {
if ( document.forms[0].selectone[i].checked == false ) {
document.forms[0].selectone[i].checked = true;
}
}
}
}
}//提交动作
function submitchk( addform ) {
addform = document.dataform;
if ( ( addform.inputid.value == "" ) || ( addform.inputname.value == "" ) || ( addform.inputage.value == "" ) ) {
alert( "有必填项未填,请填写完整!" );
return false;
} else {
if ( confirm ( "确认添加用户?" ) ) {
addform.action = "Added.php";
addform.submit ( );
return true;
} else {
return false;
}
}
}function delchked ( chkdelform ) {
chkdelform = document.dataform;
var j;
var truej = 0; //判断用户是否已经选择了要删除的数据 var tmpElm = document.getElementsByName("selectone"); for ( j = 0 ; j <= tmpElm.length ; j++ ) {
if ( tmpElm[j].checked ) {
truej ++;
}
} //如果已经选择了数据,先提示
if ( truej > 0 ) {
//对用户删除数据做进一步确认
if ( confirm ( "是否删除所选项?提示:删除后,无法恢复的!" ) ) {
chkdelform.action="Deleted.php";
chkdelform.submit();
} else {
return false;
} } else {
alert ( "您未选择任何记录,无法处理!" );
return false;
}
}
//-->
</SCRIPT>
</head><body>
<!-- 显示数据 -->
<form name="dataform" method="post">
<table align="center" border="1" id="AutoNumber1" style="border-collapse: collapse" cellpadding="0" cellspacing="0" width="100%" bordercolor="#C0C0C0">
<tr>
<td bgcolor="#E1E1E1"><b></td>
<td bgcolor="#E1E1E1"><b>用户ID</td>
<td bgcolor="#E1E1E1"><b>用户姓名</td>
<td bgcolor="#E1E1E1"><b>用户年龄</td>
<td bgcolor="#E1E1E1"><b>用户修改</td>
</tr> <?php
//连接数据库并检索数据
$myuser->connectdb ( );
$myuser->Retrieve ( ); while ( ( $myuser->row = mysql_fetch_array( $myuser->result ) ) ) {
?> <tr>
<td bgcolor="#EFEFEF"><input type="checkbox" name="selectone" value="<?php echo ( $myuser->row['id'] ); ?>"></td>
<td bgcolor="#EFEFEF"><?php echo ( $myuser->row["id"] ); ?></td>
<td bgcolor="#EFEFEF"><?php echo ( $myuser->row["name"] ); ?></td>
<td bgcolor="#EFEFEF"><?php echo ( $myuser->row["age"] ); ?></td>
<td bgcolor="#EFEFEF"><a href="javascript:void sfdf( );">修改</a></td>
</tr>
<?php
}
?> <tr>
<td colspan="5" bgcolor="#E1E1E1">
<br>
<input type="radio" name="select" value="selectall" onClick="checkselect ( );">全选
<input type="radio" name="select" value="unselect" onClick="checkselect ( );">取消
<input type="radio" name="select" value="reverseselect" onClick="checkselect ( );">反选
<td>
</tr> <tr>
<td colspan="5" align="center" bgcolor="#E1E1E1">
输入用户ID号 : <input name="inputid" type="text" value="" class="inputnormal" onKeyUp="if(isNaN(this.value)) this.value='';" onMouseout="this.className='inputnormal'" onMouseover="this.className='inputedit';this.focus();this.select();">
输入用户名 : <input name="inputname" type="text" value="" class="inputnormal" onMouseout="this.className='inputnormal'" onMouseover="this.className='inputedit';this.focus();this.select();">
输入用户年龄 : <input name="inputage" type="text" value="" class="inputnormal" onKeyUp="if(isNaN(this.value)) this.value='';" onMouseout="this.className='inputnormal'" onMouseover="this.className='inputedit';this.focus();this.select();">
</td>
</tr> <tr>
<td colspan="5" align="center" bgcolor="#E1E1E1">
<br>
<input name="add" type="button" value=" 添 加 " border="0" class="s02" onClick="return submitchk ( this.form );">
<input name="del" type="button" value=" 删 除 " border="0" class="s02" onClick="return delchked ( this.form );">
<input name="mod" type="button" value=" 查 询 " border="0" class="s02" onClick="">
<br>
<br>
</td>
</tr>
</table>
</form>
</body>
</html>
==》 for ( j = 0 ; j < document.forms[0].selectone.length ; j++ ) {为什么还要写
for ( j = 0 ; j <= tmpElm.length ; j++ ) {
?改为
for ( j = 0 ; j < tmpElm.length ; j++ ) {
后通过。
function delit ( myform ) {
myform = document.dataform;
worn = "是否删除所选项?提示:删除后,无法恢复的!"
if ( confirm ( worn ) ) {
myform.action="Deleted.php";
myform.submit ( );
}
}//检查是否已选定删除项
function delchked ( ) {
var myform = document.dataform;
var j;
var truej;
truej = 0;
for ( j = 0 ; j < document.all.selectone.length ; j++ ) {
if ( document.all.selectone[j].checked == true ) {
truej++;
}
}
if ( truej > 0 ) {
delit ( myform );
} else {
alert ( "您未选择任何记录,无法处理!" );
return false;
}
}但是我还是不知道别的地方用的很好的<=,到了这里就要变成< ????
首先,这里有基本问题 <input type="radio" name="select" value="selectall" onClick="checkselect ( );">全选
<input type="radio" name="select" value="unselect" onClick="checkselect ( );">取消
<input type="radio" name="select" value="reverseselect" onClick="checkselect ( );">反选不要用form,select,input这样的关键字来做name或者id。其次,checkselect函数的三个循环全部存在相同的越界错误而不像你说的“其他的所有JS脚本都工作的很好”。但是因为发生错误的时候操作已经完成所以你没有察觉:for ( i = 0 ; i <= document.forms[0].selectone.length ; i++ ) {