【发布时间】:2019-09-17 17:22:29
【问题描述】:
我遇到了 javascript 的问题。
我的html页面函数
function getAssignUnit(phaseId)
{
var projectId = document.getElementById("projectId").value;
//var phaseid = document.getElementById("phaseid").value;
var strURL="index.php?do=/accesscontrol/assignUnitDetails/projectid_"+projectId+"/phaseid_"+phaseId;
var xmlhttp;
if(window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
if(xmlhttp.responseText == '')
{
document.getElementById('assigncUnit').style.display = 'none';
}
else
{
document.getElementById('assignUnitNN').style.display = 'none';
document.getElementById('assigncUnit').style.display='block';
document.getElementById("assigncUnit").innerHTML=xmlhttp.responseText;
}
}
}
xmlhttp.open("GET", strURL, true);
xmlhttp.send();
}
我在这一行遇到错误
document.getElementById('assignUnitNN').style.display = 'none'; (未捕获的类型错误:无法读取 null 的属性“样式” 在 XMLHttpRequest.xmlhttp.onreadystatechange )
assignUnitDetails 类文件
<?php
defined('PHPFOX') or exit('NO DICE!');
class Accesscontrol_Component_Controller_assignUnitDetails extends Phpfox_Component
{
public function process()
{
$projectId = $this->request()->get('projectid');
$phaseId = $this->request()->get('phaseid');
$category = '';
if($projectId != '')
{
$aUnitDetailss = Phpfox::getService('accesscontrol.process')->getAssignUnitDetails($projectId, $phaseId);
$category .= '<select name="val[unitId]" id="unitId" style="width:100%;" onchange="javascript:getAssignnoti(this.value);"><option value="">--Select Phase--</option>'; //
for($i=0; $i < count($aUnitDetailss); $i++)
{
$category .= '<option value="'.$aUnitDetailss[$i]["unit_id"].'">'.$aUnitDetailss[$i]["unit_name"].'</option>';
}
$category .= '</select>';
echo $category;
die;
}
else
{
$category = '';
echo $category;
die;
}
}
public function clean()
{
(($sPlugin = Phpfox_Plugin::get('accesscontrol.component_controller_phaselist_clean')) ? eval($sPlugin) : false);
}
}
我的查询在这里
//Get assign Phase
public function getAssignUnitDetails($projectId, $phaseId)
{
$where = 'a.projectId = "'.$projectId.'" AND a.phaseId = "'.$phaseId.'" AND a.status = 1';
$aUnitDetailss = $this->database()->select('DISTINCT a.phaseId,ph.phaseId, ph.phaseName')
->from(Phpfox::getT('hse_notification_role'), 'a')
//->leftjoin(Phpfox::getT('user'), 'u', 'u.user_id = a.userId')
->leftjoin(Phpfox::getT('project'), 'p', 'p.projectId = a.projectId')
->leftjoin(Phpfox::getT('wbs_phase'), 'ph', 'ph.phaseId = a.phaseId AND ph.projectId = a.projectId')
->leftjoin(Phpfox::getT('unit'), 'un', 'un.projectId = a.projectId AND un.phaseId = a.phaseId AND un.unit_id = a.unitId')
->where($where)
->execute('getRows'); // getRows
// echo $aUnitDetailss; die;
return $aUnitDetailss;
}
这是我的展示
<div class="col-lg-4">
<div>{required}Unit:<br/>
<div id="assignUnitNN ">
<select name="" id="" style="width:100%;" >
<option value="">--Select Unit--</option>
</select>
</div>
<div id="assigncUnit" style="float:left; display:none; width:100%;"></div>
<div class="clear"></div>
</div>
</div>
【问题讨论】:
-
代码中的assignUnitNN是什么?
-
代码中没有带有
id = 'assignUnitNN'的元素 -
{required}单位:
-
您的 id 中有一个额外的空间。
assignUnitNN。可能是这个问题' -
从 id 名称中删除空格
标签: javascript php