JQuery .submit函数不会在IE中提交表单

时间:2010-04-14 16:32:30

标签: jquery form-submit

我有一个表单向JQuery代码提交一些值,然后发送一个包含表单值的电子邮件。它在Firefox中完美运行,但在IE6(惊喜!)或IE7中不起作用。有什么建议为什么?非常感谢?我在一些博客上看到它可能与我的表单中的提交按钮有关,但我尝试的任何东西似乎都没有用。

这是表单html:

<form id="myform1">

<input type="hidden" name="itempoints" id="itempoints" value="200"> </input>

<input type="hidden" name="itemname" id="itemname" value="testaccount"> </input>

<div class="username">
    Nickname:

    <input name="nickname" type="text" id="nickname" />
</div>
<div class="email">
    Email:
    <input name="email" type="text" id="email" />
</div>
<div class="submitit">
    <input type="submit" value="Submit" class="submit" id="submit" />
</div>

</form>

这是我的JQuery:

var $j = jQuery;

$j("form[id^='myForm']").submit(function(event) {

 var nickname = this.nickname.value;
 var itempoints = this.itempoints.value;
 var itemname = this.itemname.value;
 event.preventDefault();  
 var email = this.email.value;
 var resp = $j.ajax({
  type:'post',
  url:'/common/mail/application.aspx',
  async: true,
  data: 'email=' +email 
   + '&nickname=' + nickname 
   + '&itempoints=' + itempoints 
   + '&itemname=' + itemname,
  success: function(data, textStatus, XMLHttpRequest) {
   alert("Your mail has been sent!");
   window.closepopup();

  }
 }).responseText;
 return false;
});

3 个答案:

答案 0 :(得分:2)

你的jQuery选择器正在寻找myForm,但是表单的id是myForm1

$ j(“form [id ^ =' myForm ']”)与表单id =“ myform1

尝试$ j('form#myform1')...

答案 1 :(得分:0)

您的表单看起来需要methodaction

答案 2 :(得分:0)

由于您实际上并未提交表单,为什么不将提交按钮设为按钮而不是提交,并在click事件()中执行操作,如下所示:

var $j = jQuery;

$j("#btnSubmit").click(function(event) {

 var nickname = $("#nickname").val();
 var itempoints = $("#itempoints").val();
 var itemname = $("#itemname").val();

 var email = this.email.value;
 var resp = $j.ajax({
  type:'post',
  url:'/common/mail/application.aspx',
  async: true,
  data: 'email=' +email 
   + '&nickname=' + nickname 
   + '&itempoints=' + itempoints 
   + '&itemname=' + itemname,
  success: function(data, textStatus, XMLHttpRequest) {
   alert("Your mail has been sent!");
   window.closepopup();

  }
 })
});

HTH