使用js控制input標籤的值和屬性
阿新 • • 發佈:2019-01-26
最近在專案中,做一個表單提交驗證,要求一個公司名稱和一個公司編號都不能為空,這個簡單,只要利用jQuery Validate來進行表單驗證即可。
但是因為需求,需要對某個特殊公司進行特殊處理,該公司沒有公司編碼,無法填寫公司編碼。
所以,根據公司名稱對該公司做了特殊處理。
這裡運用了js對input標籤的屬性控制和值控制,並且使用滑鼠移除事件blur來處理。
基本上只要有過開發經驗的,都知道怎麼寫,這裡記錄也是當做日常的積累了。
廢話不多說,貼程式碼:
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2 no-padding-right" for="companyName"><span class="red">*</span>公司名稱:</label>
<div class="col-xs-12 col-sm-9">
<input type="text" name="companyName" id="companyName" class="col-xs-12 col-sm-6" value="<#if user ??>${user.companyName}</#if>">
<span class ="help-inline col-xs-12 col-sm-4">
<@form.errors path="user.companyName"/>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2 no-padding-right" for="customerId"><span class ="red">*</span>公司編號:</label>
<div class="col-xs-12 col-sm-9">
<input type="text" name="customerId" id="customerId" class="col-xs-12 col-sm-6" value="<#if user ??>${user.customerId}</#if>">
<span class="help-inline col-xs-12 col-sm-4">
<@form.errors path="user.customerId"/>
</span>
</div>
</div>
$("#companyName").blur(function(){
var name = $("#companyName").val() || '';
if(name == "特殊公司名稱"){
$("#customerId").attr('value', '********');
$("#customerId").attr('readOnly',true);
}
});
實現的功能,就是當在公司名稱一欄輸入規定的特殊公司名稱,然後滑鼠移除焦點後,就會把公司編號一欄,設一個預設值,並修改為只讀屬性。