您的位置:首页 > 其它

怎样通过后台控制前台<input>可编辑或不可编辑

2016-07-01 17:21 253 查看
今天搞这个简单的问题我竟然搞了好半天,郁闷,赶紧记录下来,做个笔记吧

首先,在前台页面是这样写的,我想根据后台数据来控制id为Email的这个文本输入框的可编辑性,为了在页面加载的时候控制它,我特地加了一个隐藏域就是

下面那个id为EmailEnable的<input>

 <tr>

       <td align="left">邮  箱:</td>

       <td align="left"><label for="textfield3"></label>

           <input type="hidden" name="EmailEnable" id="EmailEnable" value="${EmailEnable}"/>
           <input type="text" name="Email" id="Email"  class="hyzxbox1" value="${UserDAO.Email}"/>         

        </td>

        <td align="left"><span id="tipemail" class="validation-ready" >必填</span></td>

</tr>

接着我们来看后台,我们可以看到,如果还没有激活过邮箱,那么会通过Response返回前台一个EmailEnable="true"的值

Q q=new Q("select EmailActivateState from ZAUserSafe where ID=?",user.getID());
DataTable dt=q.executeDataTable();
if(dt.getRowCount()>0){
int state=dt.getInt(0, 0);
if(state==0){
Response.put("EmailEnable",true);
}
}

接着我们再来看页面加载的时候js控制

<script type="text/javascript">

$(function() {
var enable=document.getElementById('EmailEnable').value;  //先取出隐藏域从后台获得的值
if(!enable){ //如果已经激活了,那么enable为"",这样就应该让Email这个<input>输入框不可编辑
document.getElementById("Email").disabled=true;
}

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: