jquery .click表单提交不在ie8或以下工作 -

时间:2011-10-12 17:10:41

标签: javascript jquery

我在使用javascript和jquery时使用表单提交脚本时出现问题 - 我已将其加载到facebook标签中,该标签在提交时应将变量传递给另一个标签。

它适用于 ie9 chrome ff safari ,但客户端仍然停留在 ie 7和8 。我不知道问题是什么 - 我尝试用div替换按钮,图像包含 .click 不会覆盖提交功能。

这应该是修复的常见问题?或者我在做什么完全错了?

<script>
 $('document').ready( function(){
    $('#my_button').click(function (e) {
  //this.form.onsubmit();

      var_app = "444444";
      url = "http://www.facebook.com/tab/?sk=bladadasd&app_data=" + var_app;

      parent.window.location.replace(url);
      e.preventDefault();
      return false;
    });
 });    
</script>

<form id="submit" method="POST" >
 <ul>
  <li><span>Photo code <sup class="required">*</sup></span><input id="barcode" name="barcode" type="text"/></li>
  <li><span>First name</span><input id="firstName" name="firstName" type="text"/></li>
  <li><span>Last name</span><input id="lastName" name="lastName" type="text"/></li>
  <li><span>Email address</span><input id="optional_email" name="optional_email" type="text"/></li>
 </ul>
 <a class="help">Need help?</a>  
 <input value="" type="submit" id="my_button" />  
</form>

在正常浏览器中将表单弹回到正确的页面,但在 ie8 中,它只是提交自己无处可见并再次显示相同

4 个答案:

答案 0 :(得分:1)

如果是提交按钮,那么您应该使用onsubmit甚至在该表单上。

P.S。为什么你的var_app变量在全球范围内?

答案 1 :(得分:1)

尝试提交事件而不是点击事件。

$('#my_button').submit(function(event) {
     event.preventDefault();    
}); 

您也错过了表单的操作。

我想知道你是否也应该指定script type

答案 2 :(得分:1)

声明 var_app &amp; 网址变量。

  var var_app = "444444";
  var url = "http://www.facebook.com/tab/?sk=bladadasd&app_data=" + var_app;

答案 3 :(得分:0)

错误在于

parent.window.location.replace(url);

Internet Explorer只允许以下语句,并会抛出权限错误

parent.location.replace(url);

与jquery或我的表单语法无关:(当我在ie7中的另一台机器上运行代码时才意识到这一点