在寫HTML表單的時候,每一個欄位都要給ID,否則<label>的for屬性沒有作用,而資料送到後端的時候,偏偏取的又是name,於是寫表單就一直重複同樣的ID和NAME,真是痛苦呀。

想到一個偷懶的方法,我只要設定NAME就好,ID就和NAME一樣就可以了,這樣寫起來輕鬆很多,而且也不容易出錯。

不過用到RADIO的時候還是要自己設定一下ID,如果有必要的話!!

這個程式剛生出來,初步測試是OK的,還沒有經過密集測試,如果看官有比較好的寫法,請不吝指教!

$(document).ready(function() {
    var sele_form = '#inquiry';

    var c = $(sele_form+' :input'); 
    c.each(function(e) {
        if ((c[e].id.length == 0) && (c[e].name.length>0)) {
            name_sele =sele_form+' :input[name='+c[e].name+']';
            if ($(name_sele).length==1)    
                        c[e].id=c[e].name;
        }
    });
});

 

前面的程式碼有問題,改成純jQuery的寫法更穩定,更新一下:

function tp_name_to_id(form) {
    var c = $(form+' :input'); 
    c.each(function(e) {
        if (($(this).attr('id') == undefined) && ($(this).attr('name') != undefined)) {
            $(this).attr('id',$(this).attr('name'));
        }
    });
}

創作者介紹

人生四十宅開始 二號宅

漠哥 發表在 痞客邦 PIXNET 留言(0) 人氣()