我已經編寫了由ajax發送名稱和角色的代碼,通過ajax,名稱發送成功,但複選框在選擇多於2個角色時不發送。如何通過複選框發送多個值
Ajax代碼
var HttPRequest = false;
function doCallAjax(Mode,Page,ID) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'AjaxRolesPermRecord.php';
var pmeters = "troles_Name=" + encodeURI(document.getElementById("roles_Name").value) +
"&tper=" + encodeURI(document.getElementById("per").value) +
'&myPage='+Page +
"&tID=" + ID +
"&tMode=" + Mode;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "load ...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
,我得到它的其他頁面上這樣
foreach($selected as $key=>$val)
{
$SqlInsertIntotable = mysql_query("INSERT INTO permissions_roles (id,permission_id,role_id)
value ('','".$val."','".$RoleID."')");
}
問題是
Invalid argument supplied for foreach()
$選擇的問題是缺少或empty..can't找到其他的任何地方你的代碼? – Oli 2013-03-05 23:44:34
@Oli我在php頁面上得到這個'$ selected = $ _POST [「tper」]; ' – 2013-03-05 23:54:13
在'var pmeters'後面添加一個警報(pmeters),並檢查是否所有數據填入 – Oli 2013-03-06 00:01:01