2010-12-23 43 views
0

我想在Firefox瀏覽器中重置表單。當我在後退按鈕中使用前一個功能時,頁面不會重置爲隱藏字段。它有前一階段。那麼,我該如何?如何通過javascript在Firefox瀏覽器中重置表格

<Html> 
<Head> 
    <Title>My Testing for javascript</Title> 
    <Script type="text/javascript"> 
    function hidetext(){ 
    window.alert('Start save to hidden'); 
    document.getElementById('hid').value = document.getElementById('puttextbox').value; 
    window.alert('Complete save to hidden'); 
    document.getElementById('puttextbox').value=''; 
    } 

    function displaytext(){ 
    window.alert('Start display from hidden'); 
    document.getElementById('displaytextbox').value = document.getElementById('hid').value; 
    window.alert('Complete display from hidden'); 
    } 

    function resetform(){ 
    document.getElementById('form1').reset(); 
    window.alert('reset is completing.....'); 
    } 

    </Script> 
</Head> 
<Body> 
    <form id="form1"> 
    <div> 
    Type your hidden text &nbsp;&nbsp;<input type="text" id="puttextbox"/> 
    <br/> 
    Display your hidden text &nbsp;&nbsp;<input type="text" id="displaytextbox"/> 
    <br/> 
    <input type="hidden" id="hid"/> 
    <button type="button" id="putbutton" onclick="hidetext();">Put the textbox</button> 
    <button type="button" id="displaybutton" onclick="displaytext();">Display hidden text</button> 
    <button type="button" id="resetbutton" onclick="resetform();">Reset</button> 
    </div> 
    </form> 
</Body> 
</Html> 

回答

2
function clearForm(oForm) { 

    var elements = oForm.elements; 

    oForm.reset(); 

    for(i=0; i<elements.length; i++) { 

field_type = elements[i].type.toLowerCase(); 

switch(field_type) { 

    case "text": 
    case "password": 
    case "textarea": 
     case "hidden": 

    elements[i].value = ""; 
    break; 

    case "radio": 
    case "checkbox": 
    if (elements[i].checked) { 
     elements[i].checked = false; 
    } 
    break; 

    case "select-one": 
    case "select-multi": 
       elements[i].selectedIndex = -1; 
    break; 

    default: 
    break; 
} 
    } 
} 

這應該做的工作。

3

爲什麼不這樣:

<input type="reset" value="Reset"> 

?它是HTML本地的。或者試試這個:

window.onload = function() { 

var inputs = document.getElementsByTagName('input'); 

    for (var i = 0; i < inputs.length; i++) { 
    inputs[i].value = ''; 
    } 
}; 

它清除頁面中的每個輸入元素。

+0

我不使用這個,因爲這是一個不明確的文本框在Firefox中。 – zanhtet 2010-12-23 11:14:23

1

最簡單的版本是:

document.form1.reset(); 

然而,這重置所有輸入字段的默認值,即一個與HTML一起發送。如果你想清除所有的字段,你需要遍歷所有的字段。

相關問題