1. 程式人生 > >使用js控制input標籤的值和屬性

使用js控制input標籤的值和屬性

最近在專案中,做一個表單提交驗證,要求一個公司名稱和一個公司編號都不能為空,這個簡單,只要利用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);
        }
    });

實現的功能,就是當在公司名稱一欄輸入規定的特殊公司名稱,然後滑鼠移除焦點後,就會把公司編號一欄,設一個預設值,並修改為只讀屬性。