如何对多个html表单使用javascript函数

如何对多个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'> &

我正在尝试使用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'>
        <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})