2013-12-16 94 views
1

我如何獲得defaultValue或複選框和下拉式的value?對於文本框和textarea的使用:如何獲取下拉菜單的默認值?

HTML:

<input type="text" id="txtbox_id" class="input-text" /> 
<input type="checkbox" id="checkbox1" /> 
<br /> 
<select id="select" name="select"> 
    <option value="Yes">Yes</option> 
    <option value="No">No</option> 
</select> 

的Javascript:

function check() { 
    var default1 = document.getElementById("txtbox_id").defaultValue; 
    var change1  = document.getElementById("txtbox_id").value; 
    var default2 = document.getElementById("checkbox1").defaultValue; 
    var change2  = document.getElementById("checkbox1").value; 
    var default3 = document.getElementById("select").defaultValue; 
    var change3  = document.getElementById("select").value; 
    if (change1 == default1 && change2 == default2 && change3 == default3) { 
     alert('Not Changed!'); 
    } else { 
     alert('Changed!'); 
    } 
} 

我使用這個檢查,如果在表單中的值已經改變與否。但是,當我使用此代碼檢查複選框和下拉列表時出現錯誤。請爲我提供實現此目的的正確方法。

+0

你檢查出來' selectedIndex'? – admdrew

+0

請提供更多的上下文。一塊HTML,這些事件如何附加,你如何處理讀取的值。我的意思是任何在後的線的不會造成錯誤,除非用'ID =「txtbox_id」'的元件不能從文件中找到。 – Teemu

+0

輸出默認值(S),網頁加載一個js變種,然後比較到 –

回答

4

檢查其屬性。當用戶修改形式,它影響屬性,但屬性保持不變。

var checkbox_defaultChecked = document.getElementById('some_checkbox').getAttribute("checked"); 

選擇是有點困難:

var selectbox_defaultOption = document.querySelector("#some_dropdown option[selected]"); 

請注意,您需要對舊版瀏覽器的墊片或更復雜的代碼。

0

的複選框:

//這個檢查,如果複選框被選中與否,並返回truefalse

var default_checked = document.getElementById("checkbox_id").defaultChecked; 
var checked_change = document.getElementById("checkbox_id").checked; 

的下拉列表:

//這得到了默認值和當前值下拉的

var select_ = document.querySelector('select[id="dropdown_id"] option[selected]'); 
var default_ = select1.value; 
var change_ = document.getElementById("os_cd").value;