如何对多个html表单使用javascript函数
我正在尝试使用java脚本函数来处理多个html表单,但运气不好。下面是我的代码。请帮帮我。谢谢 html表单如何对多个html表单使用javascript函数,javascript,html,jquery,forms,Javascript,Html,Jquery,Forms,我正在尝试使用java脚本函数来处理多个html表单,但运气不好。下面是我的代码。请帮帮我。谢谢 html表单 <form id="my_form_id"> Your Email Address: <input type="text" id="email" /><br> <input type="submit" /> <div id='loader' style='display:none'> &
<form id="my_form_id">
Your Email Address: <input type="text" id="email" /><br>
<input type="submit" />
<div id='loader' style='display:none'>
<img src='images/loader.gif'/>
</div>
</form>
<form id="my_form_id">
Your Email Address: <input type="text" id="email" /><br>
<input type="submit" />
<div id='loader' style='display:none'>
<img src='images/loader.gif'/>
</div>
</form>
Javascript
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function(){
$('#my_form_id').on('submit', function(e){
$('#loader').show();
//Stop the form from submitting itself to the server.
e.preventDefault();
var email = $('#email').val();
$.ajax({
type: "POST",
url: 'xml.php',
data: {email: email},
success: function(data){
alert(data);
$('#loader').hide();
}
});
});
});
</script>
您可以像这样使用jquery
每个html元素的Id都必须是唯一的
此外,还有重复的电子邮件id。但您希望获得特定于该表单的电子邮件。在这种情况下,您可以使用类,然后使用find
$document.readyfunction{
$'my_form_id,my_form_id2'。在'submit'上,函数E{
$'loader'.show;
//停止表单提交到服务器。
e、 防止违约;
var email=$this.find'.email'.val;//子项
console.logemail
};
};
您的电子邮件地址:
您的电子邮件地址:
您可以像这样使用jquery
每个html元素的Id都必须是唯一的
此外,还有重复的电子邮件id。但您希望获得特定于该表单的电子邮件。在这种情况下,您可以使用类,然后使用find
$document.readyfunction{
$'my_form_id,my_form_id2'。在'submit'上,函数E{
$'loader'.show;
//停止表单提交到服务器。
e、 防止违约;
var email=$this.find'.email'.val;//子项
console.logemail
};
};
您的电子邮件地址:
您的电子邮件地址:
文档中的ID应该是唯一的,将ID转换为类
<form class="my_form_class">
文档中的ID应该是唯一的,将ID转换为类
<form class="my_form_class">
主要问题是因为id属性必须是唯一的。当您在表单和电子邮件输入的整个HTML中重复它们时,只会找到每个输入的第一个实例
要解决此问题,请将它们更改为类属性。从那里,您可以使用DOM遍历来查找与提交的表单相关的元素,以便检索所需的数据。试试这个:
jQueryfunction${
$'.my_form'。在“提交”上,函数E{
e、 防止违约;
var$form=$this;
var email=$form.find'input[name=email]'.val;
$form.find'.loader'.show;
$.ajax{
类型:POST,,
url:'xml.php',
数据:{email:email},
成功:functiondata{
控制台日志数据;
$form.find'.loader'.hide;
}
};
};
};
.loader{
显示:无;
}
您的电子邮件地址:
提交
您的电子邮件地址:
提交
主要问题是因为id属性必须是唯一的。当您在表单和电子邮件输入的整个HTML中重复它们时,只会找到每个输入的第一个实例
要解决此问题,请将它们更改为类属性。从那里,您可以使用DOM遍历来查找与提交的表单相关的元素,以便检索所需的数据。试试这个:
jQueryfunction${
$'.my_form'。在“提交”上,函数E{
e、 防止违约;
var$form=$this;
var email=$form.find'input[name=email]'.val;
$form.find'.loader'.show;
$.ajax{
类型:POST,,
url:'xml.php',
数据:{email:email},
成功:functiondata{
控制台日志数据;
$form.find'.loader'.hide;
}
};
};
};
.loader{
显示:无;
}
您的电子邮件地址:
提交
您的电子邮件地址:
提交
元素ID应该是唯一的。使用唯一ID或使用类选择器。元素ID应该是唯一的。使用唯一ID或使用类选择器。
$('.my_form_class').on('submit', function(e){// rest of the code})