我有javascript函数中,我查了级ID框的值,如果其价值2
那么原因箱应被激活,它应该是必需的,这意味着*
应该出现提前Reason box
的,此功能工作正常,但*
领先理性对话框出现只是暂时,然后消失,通过瞬间我的意思是很短的时间量,但如果我在acitvateReason
有一个警报,然后*
出现并保持领先的Reason Box
JavaScript:为什么警报会使行为有所不同?
JavaScript代码
function activateReason(){
alert('test');
var stageId = $('#Main\\.stageId option:selected').val();
if(stageId== '2') {
document.getElementById("Main.ReasonId").disabled=false;
document.getElementById("rqd.Main.ReasonId").style.display='inline';
}else{
document.getElementById("Main.ReasonId").disabled=true;
document.getElementById("rqd.Main.ReasonId").style.display='none';
document.getElementById("Main.ReasonId").selectedIndex="";
}
}
HTML代码
<td width="15%" class="formLabel" align="right">
<form:label path="Main.ReasonId" cssClass="normalText" cssErrorClass="normalTextRed">
<span id="rqd.Main.ReasonId" style="display:none;"><sup><b>*</b></sup></span>
Reject Reason: </form:label>
</td>
<td width="35%" class="formValue">
<form:select path="Main.ReasonId" cssClass="normalText" cssErrorClass="validationError" disabled="true">
<form:option value="" label="--Please Select--"/>
<form:options items="${ReasonList}" itemValue="value" itemLabel="label"/>
</form:select>
</td>
我无法理解,为什么*
时,警报不存在似乎只是暂时,如果警报存在*
停留,我想*
留下来,我不知道的我怎么能这样做,也会很感激,如果有人可以解释这种行为?
更新:我的萤火检查,它看来,如果我没有戒备,activateReason()
比显示document.getElementById("rqd.Main.ReasonId").style.display='inline';
变化从行内首屈一指,如果我没有戒备比它仍然是内联等*
出现。
不知道为什么会发生这种情况,我想保留*
但我不想在activateReason方法中有警报,有什么建议吗?
你在哪里把警报()在功能改变自己的行为? – Anonymoose 2011-01-31 22:21:45
在函数中添加了警报声明。 – Rachel 2011-01-31 22:23:30
其实没关系,我把警报,如果我把警报的任何地方enableRejectReason功能,那么``仍然存在,但如果我删除警报,然后`*`短暂停留,然后消失。 – Rachel 2011-01-31 22:24:50