得到的checkbox的value不知道从哪儿出来的/?
我从数据库里面获得了result,把roomname字段作为了checkbox的value,在javascript脚本的summitdata函数和mcustom.php中的得到的数据中间怎么都加了/?
1.
echo "<form id='roomlist' action ='/qtjd/mcustom.php' method='get'>";
echo "<table>";
while($row=mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><input type='checkbox' name='selectrooms[]' value=" . $row['roomname'] . "/></td>";
echo "<td align='center'>" . $row['roomname'] . "</td>";//此处没有/
echo "</tr>";
}
echo "<tr><td ><input type='button' value='submit' onclick='submitdata()'/></td></tr>";
echo "</table>";
echo "</form>";
2.javascript部分
function checkchecked(checkboxs)
{
for(var i=0;i<checkboxs.length;i++)
{
if(checkboxs[i].checked)
{
alert(checkboxs[i].value);//此处得到的checkboxs[i].value的值101/,已经被加了/
return true;
}
}
alert("Please select the room.");
return false;
}
function submitdata()
{
var checkboxs=document.getElementsByName("selectrooms[]");
var checked=checkchecked(checkboxs);
if(checked)
{
var form=document.getElementById("roomlist");
form.submit();
}
else
{
return false;
}
}
3.mcustom.php中得到的
if(isset($_GET["selectrooms"]))
{
$selectrooms=$_GET["selectrooms"];
foreach($selectrooms as $item)
{
echo "<tr>";
echo "<td>" .$item . "</td>";//此处也有/
echo "</tr>";
}
}
[解决办法]
value=" . $row['roomname'] . "/></td>";得出的结果大概是 value=roomnamevalue/>
value和/>之间没有空格,所以浏览器认为value=roomnamevalue/ 。建议在任何属性都加上""包含属性值