if ($username&&$mypas1&&$mypas2) { $sqls="select * from admin"; $result=mysql_query($sqls); $state=true; while($temp=mysql_fetch_array($result)) { if ($temp["username"]==$username) { echo "该用户名已经存在"; $state=false; break; } } if ($state==true) { $mysqls="select count(*) as areacount from area"; $bbb=mysql_query($mysqls); $mybb=mysql_fetch_array($bbb); // echo $mybb["areacount"]; $ccc=mysql_query("select * from area order by id"); while($myresult=mysql_fetch_array($ccc)) { $id=$myresult["id"]; ?> <script language="javascript">
<td><input type=checkbox value=100 name=<?echo "checkbox".$myid?> onclick="return mycheckbox(this.name);">
該為:
<td><input type=checkbox value=<?=$temp[addressnum]?> name=<?echo "checkbox".$myid?> onclick="return mycheckbox(this.name);">
選中哪個地址,其值就為$temp[addressnum],否則為空
提交以後,用循環判斷一下即可
请高手看一下,谢谢。
td><input type=checkbox value=<?=$temp[addressnum]?> name=<?echo "checkbox".$myid?> onclick="return mycheckbox(this);">function mycheckbox(myobject)
{ var myobject;
if (myobject.checked)
{ aa=myobject.name;
bb="adfadfadf";
// aa[aa.length+1]=myobject.name;
alert(myobject.name+"="+myobject.value);
}
// else
// { for(i=0;i<a.length;i++)
// { if (aa[i]==myobject.name)
// {aa[i]="";}
// }
// }
return aa;
}
<input type=hidden name=addressname>
//提交時處理函數
function checkform(form)
{
n=form.length;
for(i=0;i<n;i++){
if(form.elements[i].type=="checkbox"&&form.elements[i].checked){
form.addressname.value+=form.elements[i].value;
}
}
}
form.addressname.value+=form.elements[i].value;
改為:
form.addressname.value+=form.elements[i].value+",";本人認爲在後臺處理更好,更安全,不應該用javascript來處理
提交到後臺以後得到一個變量為$addressname的數組,數組的元素就是你選中的值的集合
(註:addressname後面一定要[])
如有checkbox1,checkbox2,checkbox3,checkbox4,checkbox5
定义一个数组var temparray=new Array();
当选中checkbox1时 数组长度temparray.length=1 数组中的值temparray=1
当再选中checkbox2时temparray.length=2 temparray=1,2
当再选中checkbox3时temparray.length=3 temparray=1,2,3
当再选中checkbox4时temparray.length=4 temparray=1,2,3,4
当再不选中checkbox2时temparray.length=3 temparray=1,3,4
我用了一个javascript
<script language="javascript">
var temparray=new Array();
function mycheckbox(myobject)
{ var myobject;
var mystate=false;
if (myobject.checked)
{ aa=aa+myobject.name;
bb="adfadfadf";
// alert(aa);
// temparray[temparray.length]=this.name
for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{
mystate=true;
break;
}
}
if (mystate==false)
{ temparray[temparray.length]=myobject.name;}alert("length="+temparray.length+"value= "+temparray);
// aa[aa.length+1]=myobject.name;
// alert(myobject.name+"="+myobject.value);
}
// else
// { for(i=0;i<a.length;i++)
// { if (aa[i]==myobject.name)
// {aa[i]="";}
// }
// }
else
{ for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{ temparray[i]=temparray[i+1]
}
}
alert("length="+temparray.length+"value="+temparray);
}
return aa;
}
</script>
function mycheckbox(myobject)
{ var myobject;
var mystate=false;
if (myobject.checked)
{ aa=aa+myobject.name;
bb="adfadfadf";
// alert(aa);
// temparray[temparray.length]=this.name
for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{
mystate=true;
break;
}
}
if (mystate==false)
{ temparray[temparray.length]=myobject.name;}alert("length="+temparray.length+"value= "+temparray);
// aa[aa.length+1]=myobject.name;
// alert(myobject.name+"="+myobject.value);
}
// else
// { for(i=0;i<a.length;i++)
// { if (aa[i]==myobject.name)
// {aa[i]="";}
// }
// }
else
{ for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{ temparray[i]=temparray[i+1]
}
}
alert("length="+temparray.length+"value="+temparray);
}
return aa;
}
</script>function mycheckbox(myobject)
{ var myobject;
var mystate=false;
if (myobject.checked)
{ aa=aa+myobject.name;
bb="adfadfadf";
// alert(aa);
// temparray[temparray.length]=this.name
for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{
mystate=true;
break;
}
}
if (mystate==false)
{ temparray[temparray.length]=myobject.name;}alert("length="+temparray.length+"value= "+temparray);
// aa[aa.length+1]=myobject.name;
// alert(myobject.name+"="+myobject.value);
}
// else
// { for(i=0;i<a.length;i++)
// { if (aa[i]==myobject.name)
// {aa[i]="";}
// }
// }
else
{ for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{ temparray[i]=temparray[i+1]
}
}
alert("length="+temparray.length+"value="+temparray);
}
return aa;
}
</script>
<input type=checkbox name=checkbox1 onclick="return mycheckbox(this);">
<input type=checkbox name=checkbox2 onclick="return mycheckbox(this);">
<input type=checkbox name=checkbox3 onclick="return mycheckbox(this);">
<input type=checkbox name=checkbox4 onclick="return mycheckbox(this);">
............ 请帮忙看一下,谢谢!!!
我覺得你那樣做真的沒什麼意義。
我還是建議你這樣:
<input type=checkbox name=checkbox[] value='010'>
<input type=checkbox name=checkbox[] value='020'>
<input type=checkbox name=checkbox[] value='030'>
<input type=checkbox name=checkbox[] value='040'>
如果都選擇,提交到php程序以後將得到$checkbox數組
$checkbox=array(0=>010,1=>020,2=>030,3=>040)
這樣做多麽的簡單明了,而且方便很多
如果是asp,將控件都命名為checkbox,不要[],提交後得到字符串:
010,020,030,040
请问怎样才能将temparray中的值加入到数据库中去!
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
td { font-size: 9pt}
body{font-size:9pt}
-->
</style>
<script language="javascript">
var aa=""
var bb="";
var temparray=new Array();
function checknull()
{if (document.myform.username.value=="")
{alert ("用户名不能为空");
document.myform.username.focus;
return false;}
if (document.myform.mypas1.value=="")
{alert ("用户密码不能为空");
document.myform.mypas1.focus;
return false;}
if(document.myform.mypas2.value=="")
{alert("请确认用户密码");
document.myform.mypas2.focus;
return false;
}
if (myform.mypas1.value!=myform.mypas2.value)
{alert("两次密码不一致");
document.myform.mypas1.value=="";
document.myform.mypas2.value=="";
document.myform.mypas1.focus;
return false;
} alert(myform.hid.value);
return true;
}
function mycheckbox(myobject)
{ var myobject;
var temp=new Array();
var mystate=false;
if (myobject.checked)
{ aa=aa+myobject.name;
bb="adfadfadf";
// alert(aa);
// temparray[temparray.length]=this.name
for(i=0;i<=temparray.length;i++)
{ if (temparray[i]==myobject.name)
{
mystate=true;
break;
}
}
if (mystate==false)
{ temparray[temparray.length]=myobject.name;}alert("length="+temparray.length+"value= "+temparray);
// aa[aa.length+1]=myobject.name;
// alert(myobject.name+"="+myobject.value);
}
// else
// { for(i=0;i<a.length;i++)
// { if (aa[i]==myobject.name)
// {aa[i]="";}
// }
// }
else
{ for(i=0;i<=temparray.length;i++)
{
if (temparray[i]!=myobject.name)
temp[i]=temparray[i];
//if (temparray[i]==myobject.name)
//{ temparray[i-1]=temparray[i]
// }
}
for(i=0;i<temparray.length;i++)
{temparray[i]=null;}
for(i=0;i<=temp.length;i++)
{ temparray[i]=temp[i];}
alert("length="+temparray.length+"value="+temparray);
<?echo temparray;?>
}
return aa;
}
</script></head>
<body bgcolor="#FFFFFF">
<?$host="localhost";
$user="sale";
$pass="htsale";
$database="net_sale";
mysql_connect("$host","$user","$pass");
mysql_select_db("$database");
if ($username&&$mypas1&&$mypas2)
{
$sqls="select * from admin";
$result=mysql_query($sqls);
$state=true;
while($temp=mysql_fetch_array($result))
{ if ($temp["username"]==$username)
{ echo "该用户名已经存在";
$state=false;
break;
}
}
if ($state==true)
{ $mysqls="select count(*) as areacount from area";
$bbb=mysql_query($mysqls);
$mybb=mysql_fetch_array($bbb);
// echo $mybb["areacount"];
$ccc=mysql_query("select * from area order by id");
while($myresult=mysql_fetch_array($ccc))
{ $id=$myresult["id"];
?>
<script language="javascript">
问题在这里: 说没有定义!!! alert(temparray);
</script>
<?}
$sqls="insert into admin(username,psd,marea)values('$username','$mypas1','$marea')";
// $aaa=mysql_query($sqls);
}
}
?>
<form name="myform" action="/htsale/admin/addnewuser.php" method="post" onsubmit="return checknull();">
<table width="35%" border="0" cellspacing="1.5" cellpadding="1" bordercolor="#FF0066" height="117" bgcolor="#333333">
<tr>
<td width="37%" bgcolor="#aaaadd"><font color="#FFFFFF"><b>用户名</b></font></td>
<td width="63%" bgcolor="#aaaadd">
<input type=text name="username">
</td>
</tr>
<tr>
<td width="37%" bgcolor="#aaaadd"><font color="#FFFFFF"><b>密码</b></font></td>
<td width="63%" bgcolor="#aaaadd">
<input type=password name=mypas1>
</td>
</tr>
<tr>
<td width="37%" bgcolor="#aaaadd"><b><font color="#FFFFFF">确认密码</font></b></td>
<td width="63%" bgcolor="#9999CC">
<input type="password" name="mypas2">
<input type="hidden" name="hid" value="fdfdfd">
</td>
</tr>
<tr>
<?
$sqls="select * from area order by id";
$result=mysql_query($sqls);
echo "请选择管理的范围";
echo "<table><tr>";
$i=0;
while($temp=mysql_fetch_array($result)) { $i=$i+1;
$myid=$temp["id"];
$addressname=$temp["addressname"];
?>
<td><?echo $addressname;?></td>
<td><input type=checkbox value=100 name=<?echo $myid?> onclick="return mycheckbox(this);">
<input type="hidden" name="hid" value="101010"> </td>
<?
if($i==4)
{$i=0;
echo "</tr><tr>";}
}
echo "</table>"?>
</tr>
<tr>
<td width="37%" height="39" bgcolor="#aaaadd"><input type="hidden" name="hid" value="101010"></td>
<td width="63%" height="39" bgcolor="#9999CC">
<input type=submit name="mysubmit" value="提交">
<input type=reset name=myreset value="重填">
</td>
</tr>
</table>
</form>
</body>
</html>
這種變量是不會傳到php的。
<td><input type=checkbox value=100 name=<?echo "checkbox".$myid?> onclick="return mycheckbox(this.name);">
改為:
<td><input type=checkbox value=<?=$temp[addressnum]?> name=addressarray[]>
提交以後就會得到數組$addressarray