2011-02-03 93 views
0

我有一个链接,它调用了一些javascript。 JavaScript填充表单值并提交它。在除IE浏览器外的所有浏览器中都能正常工作未在IE中填充表格值

页面上的所有其他选项的链接,这就是为什么我还要这个选项是一个链接

感谢

 <script type="text/javascript"> 



     function timeZone(){ 

      today = new Date() 
      difference = today.getTimezoneOffset() 

      var field = document.getElementById("form").timezone 
      alert("test") 
      if(difference < 0){ 
       difference = difference * -1 
       field.value = "GMT+" + pad(Math.floor(difference/60), 2) + ":" + pad(difference%60, 2); 
      } 
      else{ 
       field.value = "GMT-" + pad(Math.floor(difference/60), 2) + ":" + pad(difference%60, 2); 
      } 
      form = document.getElementById('form'); 
      form.submit(); 


     } 

     function pad(num, digits) { 
      num = String(num); while (num.length < digits) { num="0"+num; }; return num; 
     } 

    </script> 









        <form method="get" action="ViewLog.do?page=1" id="form"> 
         <input id="timezone" name="timezone" type="hidden" value=""></input> 
         <img id="activityHistoryImage" Class = "navImage" src="imgs/history.png" alt="Activity history"/> 


         <a href="ViewLog.do?page=1"id ="activityHistoryButton"class = "navButton" onclick="timeZone(); return false">Activity history</a><br/> 
         <small class="navSubText">See your most recent activities </small> 
        </form> 
+1

始终以'var`声明变量。 – Chris 2011-02-03 16:26:23

回答

1

Internet Explorer可能会或可能不会有与事实,你的问题已向您的form元素授予“表单”的ID;我想它可能会。通常,最好避免使用标签名称作为idname属性上的值。

而且,你的隐藏输入元素有一个ID,但你不使用它来引用它。变化:

var field = document.getElementById("form").timezone 

var field = document.getElementById("timezone"); 
+0

谢谢,我会整理出来的 – bond425 2011-02-03 16:34:42

1
  1. 声明变量与VAR
  2. 地方;他们应该在哪里。
+0

感谢您的帮助,愚蠢的错误!现在正在写入 – bond425 2011-02-03 16:34:04