如何通过javascript在firefox浏览器中重置表单

时间:2010-12-23 11:00:41

标签: 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>

3 个答案:

答案 0 :(得分: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 = '';
  }
};

它清除页面中的每个输入元素。

答案 1 :(得分: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;
 }
    }
}

那应该做的。

答案 2 :(得分:1)

最简单的版本是:

document.form1.reset();

但是,这会将所有输入字段重置为其默认值,即与HTML一起发送的字段。如果你想清除所有字段,你需要遍历所有字段。