我有一个表单向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;
});
答案 0 :(得分:2)
你的jQuery选择器正在寻找myForm,但是表单的id是myForm1
$ j(“form [id ^ =' myForm ']”)与表单id =“ myform1 ”
尝试$ j('form#myform1')...
答案 1 :(得分:0)
您的表单看起来需要method
和action
。
答案 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