开发者

jquery .click form submit not working in ie8 or below-

开发者 https://www.devze.com 2023-04-12 08:50 出处:网络
im having trouble with a form submit script im using with javascript and jquery- its a form i have loaded into a facebook tab which when submit should pass a variable to another tab.

im having trouble with a form submit script im using with javascript and jquery- its a form i have loaded into a facebook tab which when submit should pass a variable to another tab.

it works in ie9, chrome, ff and safari but client is stuck on ie 7 and 8. I dont know what the problem is- I have tried replace the button with a div and image incase .click wouldnt overwrite the submit function.

this should be a common problem with fix? or what am i doing thats completely wrong?

<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="m开发者_运维百科y_button" />  
</form>

edit the form bounces on to the correct page in normal browsers but in ie8 it just submits upon itself going nowhere and displaying the same again


If it is a submit button , then instead you should be working with onsubmit even on that form.

P.S. why is your var_app variable in global scope ?


Try the submit event instead of click event.

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

You are also missing an action for your form.

I wonder if you should also specify the script type


Declare var_app & url variables.

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


The error lay with the line

parent.window.location.replace(url);

internet explorer only allowed the following statement and would throw a permission error

parent.location.replace(url);

nothing to do with jquery or my form syntax :( only realised this when i ran the code on a different machine in ie7

0

精彩评论

暂无评论...
验证码 换一张
取 消