2013-12-16 48 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;