OnClick功能在IE 10中不起作用,但在旧版本中很好

时间:2014-10-09 09:25:10

标签: javascript jquery asp.net

在标准的Dot.Net应用程序中,有一个添加按钮的选项,可以执行某些功能。

单击此按钮可在新窗口中打开Goog​​le,其中包含当前窗口中的输入参数。

<button class="exButton" language="VBS" onclick="MakeReq()">Search Google</button>
&nbsp;
<script language="VBS"> 
    Sub MakeReq() 
        window.open "https://www.google.nl/?gws_rd=ssl#q=" & frmMain.FreeTextField_01.Value 
    End Sub
</script>

该按钮在兼容模式下在IE9或IE10中正常工作。 但是在Chrome或IE 10上它无法正常运行。我没有得到任何回应或明显错误。

有谁知道:

  1. 为什么它无法在IE10中运行?
  2. 更重要的是我如何调整代码以使其再次运行?
  3. 请记住,我只能影响这一小块脚本,因为页面的其余部分是由应用程序的供应商控制的。

2 个答案:

答案 0 :(得分:0)

转到javascript,类似这样:

<button class="exButton" onclick="MakeReq()">Search Google</button>
&nbsp;
<script language="text/javascript"> 
    function MakeReq() {

        frmMain = document.forms[0]; // if it is the first form
        textField = frmMain.elements["FreeTextField_01"];

        window.open("https://www.google.nl/?gws_rd=ssl#q="+textField.value;
    }
</script>

但它并不是什么是frmMain.FreeTextField_01.value,所以我试图想象它是页面中第一种形式的字段。

其他方式可能是:

textField = document.getElementsByName("FreeTextField_01")[0];

frmMain = document.forms["frmMain"];
textField = frmMain.elements["FreeTextField_01"];

frmMain = document.forms[0]; // if it is the first form
textField = frmMain.elements[0]; // if it is the first form element

frmMain = document.getElementById("frmMain");
textField = frmMain.elements["FreeTextField_01"];

如果表单有id =&#34; frmMain&#34;

答案 1 :(得分:0)

感谢您的帮助!以下是最终为我工作的内容。

 <button class="exButton" onclick="myFunction()">Google Search</button> 
 <script language="text/javascript"> 
       function myFunction() 
          { 
           frmMain = document.getElementById("frmMain"); 
           textField = frmMain.elements["FreeTextField_01"]; 

           window.open("google.nl/?gws_rd=ssl#q="+textField.value); 
          } 
</script>